1. 比较运算符能用“=”就不用“<>”
“=”增加了索引的使用几率;
2. 明知只有一条查询结果,那请使用"Limit1"
"Limit 1" 可以避免全表扫描,找到对应结果就不会在继续扫描;
3. 为列选择合适的数据类型
能用Tinyint就不用Smallint ,能用Smallint 就不用Int,磁盘和内存消耗越小越好
4. 将大的delete 、update 、Insert 查询变成多个小查询
5. 使用union all 代替 union ,如果结果集允许重复的话
因为union all 不去重,效率高于union
6. 为获得相同结果集的多次执行,请保持SQL语句前后一致
为了充分利用查询缓冲
7. 尽量避免使用“select”
因为select * 会进行全表扫描,不能有效利用索引,增大了数据库服务器的负担,以及它与应用程序客户端之间的网络IO开销;
8. where 子句里面的列尽量被索引
索引不能太多,否则会降低性能;
9. Join 子句里面的列尽量被索引
10. order by 的列尽量被索引
提高性能
11. 使用limit实现分页逻辑
提供了性能,同时减少了不必要的数据库和应用间的网络传输;
12. 使用explain 关键字去查看执行计划
explain 可以检查索引使用情况以及扫描的行;
转载:https://mp.weixin.qq.com/s/ykvH4HEGbG7FPG4AtnXwqQ