sql查询效率优化
查询可以是用explain关键字来查看查询sql查询的性能相关信息。
explain select * from table_user;
1.left join 比inner join慢,因为left还要处理没有匹配的部分。
2.join on的条件中有or,locate,find-in-set,都会使得速度很慢。
3.有些字段没有增加索引。
4.存储过程或sql中有循环逻辑,大量频繁新建和创建临时表的,可以考虑使用创建实际临时表来代替。
注意要考虑是否会并发,并发不太适合用实际表来代替。
5.临时表也可以增加索引,来提高速度。
6.数据预处理,提前统一好数据格式,减少格式逻辑判断,如,减少date_format等函数在查询sql中的使用。
7.优化sql逻辑。
8.使用正则表达式
9.对于表中数据比较大的情况,可以先用查询条件进行子查询处理
10.left join数据量并不大,但是速度很慢,检查两表格字符集编码是否一致。utf8mb4/utf8
11.left join 可以利用子查询将查询结果处理为临时表,然后增加索引。
12.索引的两边的字段类型是否一致
13.尽可能避免*,用什么列查什么列
待续……
浙公网安备 33010602011771号