mysql 递归查询 效率_性能优化实战-sql递归查询效率低下
今天在做一个热门赛事列表查询的接口压测
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递归查询效率低下相关推荐
- mysql客户端工具_性能优化-理解 MySQL 体系结构(MySQL分库分表)
实例和数据库 我们通常所说的 MySQL 数据库服务器由一个实例(instance)以及一个数据库(database)组成.实例包括一组后台进程/线程和许多内存结构,用于管理数据库:数据库由一组磁盘文 ...
- MySQL 数据库性能优化之SQL优化
2019独角兽企业重金招聘Python工程师标准>>> MySQL 数据库性能优化之SQL优化 发布时间: 2012 年 3 月 21 日 发布者: OurMySQL 来源:简朝阳 ...
- 【性能优化】MySQL 数据库连接原理和性能优化 - 学习/实践
1.应用场景 学习MySQL数据库连接原理和性能优化, 开发高性能程序. 2.学习/操作 1. 文档阅读 MySQL 数据库连接原理和性能优化 - 高性能 MySQL 实战 | Laravel 学院 ...
- 读薄《高性能MySql》(四)查询性能优化
读薄<高性能MySql>(一)MySql基本知识 读薄<高性能MySql>(二)Scheme与数据优化 读薄<高性能MySql>(三)索引优化 读薄<高性能M ...
- 2 周流量激增百倍的腾讯课堂后台扩容和性能优化实战
作者:andyawang,腾讯 CSIG 后台开发工程师 疫情期间,学校网课需求激增,腾讯课堂 2 天上线极速版,2 周内支持同时在线人数超百倍增长,对整个后台挑战非常大.整整 2 个月下来,同合作团 ...
- 《java性能优化实战》之编程性能优化
目录 一.java编程性能优化实战 1.如何使用String.intern 节省内存 2.如何使用字符串的分割方法? 3.ArrayList还是LinkedList?使用不当性能差千倍 4.Strea ...
- 太牛了!我把阿里、腾讯、字节跳动、美团等Android性能优化实战整合成了一个PDF文档
安卓开发大军浩浩荡荡,经过近十年的发展,Android技术优化日异月新,如今Android 11.0 已经发布,Android系统性能也已经非常流畅,可以在体验上完全媲美iOS. 但是,到了各大厂商手 ...
- linux性能优化实战 倪朋飞,Linux性能优化实战:系统的swap变高(09)
一.实验环境 1.操作系统 root@openstack:~# lsb_release -a No LSB modules are available. Distributor ID:Ubuntu D ...
- Linux性能优化实战学习笔记:第十讲==中断
Linux性能优化实战学习笔记:第十讲 一.坏境准备 1.拓扑图 2.安装包 在第9节的基础上 在VM2上安装hping3依奈包 ? 1 2 3 4 5 6 7 wget http://www.tcp ...
最新文章
- 接收到开始本地截图的命令:videoshot.exe 解决方法
- 【科技金融】CART树现金贷风控策略
- Rows Over Window与Range Over Window的区别
- java scala 获取类_在Scala 2.10中获取java.lang.Class [T]的Scala类型
- java.servlet js,调用servlet方法
- UITableView介绍 之 复杂cell的高度计算
- 一文读懂什么是硬件开发、智能硬件、硬件系统?
- 【算法】数独解题——用python代码
- 950个织梦网dede模板源码
- 备受关注的个税法进行第七次大型结构调整,你受益有多少?
- 教你用Python拨打电话
- 20135203齐岳 信息安全系统设计基础第五周学习总结
- ai切换rgb模式_AI基础教程:如何更改CMYK模式?更改的两个方法
- 计算机制作画报说课稿,运用word图文混排制作海报说课稿
- 【Android】更改程序图标
- 微博舆情 之 自然语言处理
- 正则表达式匹配/通配符匹配
- python读取excel批量下载图片
- bootstrapinput传参数_***文件上传控件bootstrap-fileinput的使用和参数配置说明
- byte和bit的区别,字节和比特,1兆等于多少字节,等于多少比特
热门文章
- 如何在内网搭建SFTP服务器,并发布到公网可访问
- MICMIC-IV 个人查询策略(+官方查询语句注释)
- 机器学习算法(3)—— 逻辑回归算法
- 【Linux】拯救者Y700安装问题“拯救者无法开启wifi问题”
- 如何遍历newtonsoft.json的JObject里的JSON数据
- 《庄子·外篇·在宥第十一》
- 谷歌服务器显示器无信号,电脑开机了显示器无信号怎么办 显示器一直无信号黑屏解决方法...
- 一、什么Docker? Docker有什么用?Docker能干嘛?
- 大数据大厂面试100题及详细答案解答,爆肝八小时近四万长文
- 计算机windows7更新失败,Win7自动更新失败开不了机怎么办?