博客 > SQL知识:SQL优化一般步骤
浏览量:1041次评论:0次
作者:锐成网络整理时间:2024-08-19 17:49:29
在现代软件开发中,数据库扮演着至关重要的角色,尤其是关系数据库系统(如MySQL、PostgreSQL、Oracle等)。随着数据的不断增长和应用需求的变化,数据库内容越来越多,对SQL进行优化可以有效提高查询效率、减少资源消耗,那么如何有效地对SQL进行优化呢?以下SQL优化一般步骤供大家参考。
1、通过慢查日志等定位那些执行效率较低的SQL语句
2、explain分析SQL的执行计划
需要重点关注type、rows、filtered、extra。
虽然上至下,效率越来越高,但是根据cost模型,假设有两个索引idx1(a, b, c),idx2(a, c),SQL为select * from t where a = 1 and b in (1, 2) order by c;如果走idx1,那么是type为range,如果走idx2,那么type是ref;当需要扫描的行数,使用idx2大约是idx1的5倍以上时,会用idx1,否则会用idx2
Extra
3、show profile 分析
了解SQL执行的线程的状态及消耗的时间。
默认是关闭的,开启语句“set profiling = 1;”
SHOW PROFILES ;
SHOW PROFILE FOR QUERY #{id};
4、trace
trace分析优化器如何选择执行计划,通过trace文件能够进一步了解为什么优惠券选择A执行计划而不选择B执行计划。
set optimizer_trace="enabled=on";
set optimizer_trace_max_mem_size=1000000;
select * from information_schema.optimizer_trace;
5、确定问题并采用相应的措施
优化索引
优化SQL语句:修改SQL、IN 查询分段、时间查询分段、基于上一次数据过滤
改用其他实现方式:ES、数仓等
数据碎片处理
重要声明:本文来自SQL数据库开发,经授权转载,版权归原作者所有,不代表锐成观点,转载的目的在于传递更多知识和信息。
相关文章推荐
2024-08-20 17:58:16
2024-08-19 17:49:29
2024-08-19 10:23:28
2024-08-16 17:06:33
2024-08-15 17:22:55
热门工具
标签选择
阅读排行
我的评论
还未登录?点击登录