常去想想以前的东西,怀旧不是用感伤的,是温故知新,加油!!!
一、分析一个SQL:
1.先看表结构,美化一下,一个好看的结构会让人心旷神怡
2.对复杂的SQL进行分析
(1)尽量将复杂的SQL拆成几个简单的查询
(2)尽量使用表连接,减少使用过 in/not in
(3)尽量减少子查询的使用或者将其合并出来
(4)尽量将 in/ not in /exists/not exists变为 join 语句,减少/合并子查询
3.从MySQL 5.6开始,子查询处理变得相对智能,利用其进行优化
(1)注意空值变化
(2)适当进左连接
(3)将SQL进行不同方式灵活转换,测试性能
4.查看慢查询日志,主要看两个地方
i. Row examined(最终要依据)
ii. Query time
5.SQL对系统可扩展性的影响
是否产生了慢查询,产生全表扫描,时间
中间件的影响