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.尽可能避免*,用什么列查什么列

待续……

 

posted @ 2021-10-22 15:16  对月当歌  阅读(188)  评论(0)    收藏  举报