时间:2021-07-01 10:21:17 帮助过:56人阅读
二.SQL语句索引没有起到作用:
执行性能测试时,服务器的运行情况下:
CPU 很高的监控图
日志没有打印错误,但是TPS很低,需要查看索引没有起到作用,是否遍历了很多无关的表格数据。
案例:我先前测试的时候,部分接口就是存在这样的问题,TPS很低,CPU很高,有索引,但是SQL查询的语句写得有问题,遍历很多数据,导致引用的索引失效了。
可以用EXPLAIN来统计一个查询,SQL会遍历多少次的问题,程序的语句导致大量的表扫描。使用的索引区分度低,表达式中是否带非,导致索引失效,rows的值越大,说明遍历次数越多:
EXPLAIN SELECT * FROM tb_hlf_pos_cashier where account=’ XXXXX ’;
(以上都是在性能测试的时候,SQL语句优化后,性能提高的途径。当然我只是找到问题,具体的SQL语句优化,是开发的同事优化的,所以这里我也只能讲解我了解的知识,很多详细的优化代码我没研究过)
性能调优篇 - TPS低 - 优化SQL语句(一)
标签:count 性能 cas pre 表格 查看 案例 div 失效