这里提供的优化只适用于开发者方向,DBA可能需要学习或者了解更多的知识
(一)需要注意的点
(1)对查询进行优化,要尽量避免全表扫描
(2)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描
(3)不使用NOT IN和<>操作NOT IN和<>操作都不会使用索引将进行全表扫描。NOT IN可以NOT EXISTS代替,id<>3则可使用id>3 or id<3来代替。
(4)应尽量避免在 where 子句中使用 or 来连接条件
(5)不要在 where 子句中的条件左边进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引
(6)避免使用不带条件的Count(*)否者进行全盘扫描
(7)索引并非越多越好
(8)尽量避免临时表的使用,资源占用不小
(9)避免模糊查询,
(10)避免出现一例值由多列或一列计算得出
(11)一个表的索引不多于4-5个(查询是快了,插入和修改、删除就慢了也可以读写分离)
(12)对数据进行分区根据关键字段。将数据分配在不同的存储区域。
粗浅的开发经验 希望得到大家评论补充
本文参考链接:https://www.cnblogs.com/szlblog/p/7428276.html