1)搜索的索引列,不一定是要选择的列,出现在WHERE或连接子句中的列
2)使用唯一索引,索引的列分布基数越大,效果越好.
3)使用短索引.如果对一个字符串进行索引,在指定长度内多数值是唯一,就不应该对整个列索引,应该指定一个前缀长度.较短的索引磁盘IO较少,较短的键值,索引高速缓存中块能容纳个多键值.
4)利用最左前缀,创建一个n列的索引,实际是创建了n个索引,可利用索引中最左边的列集来匹配行.
5)不要过度索引,每个额外索引要占用额外的空间,写操作性能降低.修改表内容同时得更新索引,减缓修改表的速度.索引太多,会使Mysql找不到最好的索引.
6)对于InnoDB存储引擎的表,记录默认按照一定顺序保存.优先级一次 主键>唯一索引>内部列.普通索引会自动保存主键的键值
原文:https://www.cnblogs.com/xiaobingch/p/12464164.html