MySQL简单优化技巧

前言

一提到MySQL优化,大多数同学都比较依赖于DBA,但是对于程序员来说,掌握SQL的编写技巧其实很重要。

技巧

  1. 比较运算符能用“=”就不要用“<>”,因为“=”能够增大列索引的使用概率
  2. 如果只查询一条数据,那么就使用“limit 1”,告知查询游标找到第一个之后就返回,以免进行全表扫描
  3. 给列选择合适的类型,比如可以使用TINYINT代替INT,节省磁盘和内存的消耗
  4. 拆解复杂SQL,减少join的出现
  5. 若查询字段全部为某联合索引字段,则避免使用“SELECT * ”,*会造成回表
  6. WHERE、ORDER BY、JOIN的列尽量使用索引字段
  7. 使用EXPLAIN查看执行计划
  8. 可以使用ENUM的时候不要用VARCHAR
  9. 字段尽量设置为NOT NULL,尤其是索引字段
  10. 长度比较大的字段尽量拆分为副表,如果这个字段不会被经常使用
  11. 经常发生变动的数据库尽量把查询缓存关闭,否则在每次变动的时候都要删除缓存,查询的时候也要查询和更新缓存,浪费时间
  12. 索引字段的长度尽量不要太长,毕竟一个索引数据页只有16k,如果一个索引内容过长,那么可能就会造成一个数据页只能存储一个索引字段,浪费空间