今天在做一个热门赛事列表查询的接口压测

http://192.168.10.98:8094/match/page?matchType=0&matchTime=0&matchStatus=0&matchName=

和开发讨论,说matchName字段采用like匹配,会导致查询慢,建议采用http://192.168.10.98:8094/match/page?matchStatus=0压测

最初的压测效果如下:

http://192.168.10.98:8094/match/page?matchStatus=0

发现

http://192.168.10.98:8094/match/page?matchType=0&matchTime=0&matchStatus=0&matchName=&page=1&rows=20

压测场景如下:查询热门赛事列表

压测脚本如下

压测前:

200线程并发:平均tps大约207左右,平均耗时1.3s

第一轮优化:

查看原始sql:

优化后

性能优化将近提升2倍,但是性能还没有达到理想值

通过监控mysql服务器的资源消耗:

发现mysql的资源基本完全消耗完毕,所以目前优化空间在mysql上

通过监控mysql慢查询

SELECT

T2.*

FROM (

SELECT

@area_id AS child_id,

(SELECT @area_id := parent_id FROM

dict_area WHERE AREA_ID = child_id) AS

parent_id,

(@area_level :=

@area_level + 1) AS area_level

FROM

(SELECT @area_id := 11959,

@area_level := 0) v,

dict_area h

WHERE @area_id <>

0 ) T1

JOIN dict_area T2

ON T1.child_id = T2.AREA_ID

where

T2.lang_type='zh_CN'

ORDER BY T1.area_level ASC;

这条sql采用了递归查询,普通执行很快,但是高并发就很慢

通话程序代码优化,重新打包压测,性能测试结果tps提升一倍多

此时,http://192.168.10.98:8094/match/page?matchStatus=0  只带matchStatus字段,压测效果比较理想,但是随后再加上

http://192.168.10.45:8094/match/page?matchStatus=0&page=1&rows=20

性能还是回到tps平均在350左右

所以得持续分析优化

mysql 递归查询 效率_性能优化实战-sql递归查询效率低下相关推荐

  1. mysql客户端工具_性能优化-理解 MySQL 体系结构(MySQL分库分表)

    实例和数据库 我们通常所说的 MySQL 数据库服务器由一个实例(instance)以及一个数据库(database)组成.实例包括一组后台进程/线程和许多内存结构,用于管理数据库:数据库由一组磁盘文 ...

  2. MySQL 数据库性能优化之SQL优化

    2019独角兽企业重金招聘Python工程师标准>>> MySQL 数据库性能优化之SQL优化 发布时间: 2012 年 3 月 21 日  发布者: OurMySQL 来源:简朝阳 ...

  3. 【性能优化】MySQL 数据库连接原理和性能优化 - 学习/实践

    1.应用场景 学习MySQL数据库连接原理和性能优化, 开发高性能程序. 2.学习/操作 1. 文档阅读 MySQL 数据库连接原理和性能优化 - 高性能 MySQL 实战 | Laravel 学院 ...

  4. 读薄《高性能MySql》(四)查询性能优化

    读薄<高性能MySql>(一)MySql基本知识 读薄<高性能MySql>(二)Scheme与数据优化 读薄<高性能MySql>(三)索引优化 读薄<高性能M ...

  5. 2 周流量激增百倍的腾讯课堂后台扩容和性能优化实战

    作者:andyawang,腾讯 CSIG 后台开发工程师 疫情期间,学校网课需求激增,腾讯课堂 2 天上线极速版,2 周内支持同时在线人数超百倍增长,对整个后台挑战非常大.整整 2 个月下来,同合作团 ...

  6. 《java性能优化实战》之编程性能优化

    目录 一.java编程性能优化实战 1.如何使用String.intern 节省内存 2.如何使用字符串的分割方法? 3.ArrayList还是LinkedList?使用不当性能差千倍 4.Strea ...

  7. 太牛了!我把阿里、腾讯、字节跳动、美团等Android性能优化实战整合成了一个PDF文档

    安卓开发大军浩浩荡荡,经过近十年的发展,Android技术优化日异月新,如今Android 11.0 已经发布,Android系统性能也已经非常流畅,可以在体验上完全媲美iOS. 但是,到了各大厂商手 ...

  8. linux性能优化实战 倪朋飞,Linux性能优化实战:系统的swap变高(09)

    一.实验环境 1.操作系统 root@openstack:~# lsb_release -a No LSB modules are available. Distributor ID:Ubuntu D ...

  9. Linux性能优化实战学习笔记:第十讲==中断

    Linux性能优化实战学习笔记:第十讲 一.坏境准备 1.拓扑图 2.安装包 在第9节的基础上 在VM2上安装hping3依奈包 ? 1 2 3 4 5 6 7 wget http://www.tcp ...

最新文章

  1. 接收到开始本地截图的命令:videoshot.exe 解决方法
  2. 【科技金融】CART树现金贷风控策略
  3. Rows Over Window与Range Over Window的区别
  4. java scala 获取类_在Scala 2.10中获取java.lang.Class [T]的Scala类型
  5. java.servlet js,调用servlet方法
  6. UITableView介绍 之 复杂cell的高度计算
  7. 一文读懂什么是硬件开发、智能硬件、硬件系统?
  8. 【算法】数独解题——用python代码
  9. 950个织梦网dede模板源码
  10. 备受关注的个税法进行第七次大型结构调整,你受益有多少?
  11. 教你用Python拨打电话
  12. 20135203齐岳 信息安全系统设计基础第五周学习总结
  13. ai切换rgb模式_AI基础教程:如何更改CMYK模式?更改的两个方法
  14. 计算机制作画报说课稿,运用word图文混排制作海报说课稿
  15. 【Android】更改程序图标
  16. 微博舆情 之 自然语言处理
  17. 正则表达式匹配/通配符匹配
  18. python读取excel批量下载图片
  19. bootstrapinput传参数_***文件上传控件bootstrap-fileinput的使用和参数配置说明
  20. byte和bit的区别,字节和比特,1兆等于多少字节,等于多少比特

热门文章

  1. 如何在内网搭建SFTP服务器,并发布到公网可访问
  2. MICMIC-IV 个人查询策略(+官方查询语句注释)
  3. 机器学习算法(3)—— 逻辑回归算法
  4. 【Linux】拯救者Y700安装问题“拯救者无法开启wifi问题”
  5. 如何遍历newtonsoft.json的JObject里的JSON数据
  6. 《庄子·外篇·在宥第十一》
  7. 谷歌服务器显示器无信号,电脑开机了显示器无信号怎么办 显示器一直无信号黑屏解决方法...
  8. 一、什么Docker? Docker有什么用?Docker能干嘛?
  9. 大数据大厂面试100题及详细答案解答,爆肝八小时近四万长文
  10. 计算机windows7更新失败,Win7自动更新失败开不了机怎么办?