1. 避免使用子查询
由于子查询会产生大量的临时表也没有索引,所以会消耗过多的CPU和IO资源,产生大量的慢查询 【子查询性能差的原因】
我觉得:可以把子查询转化为关联查询进行优化
网友:???(你有没有很多问号)
2. in 查询的避免(我经理,所以这痛楚…我懂,k+)
in 的值不要超过500个(且会利用索引)
3. 尽量避免使用外键约束
会降低性能,因为:外键会影响父表和子表的写操作
4. 避免使用双%号的查询条件
通常会使索引失效
只有后置%,是可以用到列上的索引的
5. 禁止使用不含字段列表的INSERT语句
应使用 insert into t(a1,b2,c3) values ('a','b','c');
NO‼️ NO‼️ NO! 而不是 insert into values ('a','b','c');
6. 避免使用JOIN关联太多的表
Mysql最多允许关联61个表,建议不超过5个
7. WHERE从句中禁止对列进行函数转换和计算
推荐:
where create_time >= '20220623' and create_time < '20220624'
不推荐:
where date(create_time)='20220623'
8. 数据库设计时,应该要对以后扩展进行考虑(避免不思量)
最后一条,也是极重要的一条(看评论,自古秀儿源自评论区)
这是希望的分割线,希望自己能在基础学习之余,有所进步~Fighting!!!
有部分观点来源于 - 匠心零度: 接口性能优化技巧,干掉慢代码!
https://mp.weixin.qq.com/s/ekOy65N7Wv7mYZ4sQO-uGw
网友评论