MySQL索引优化小记

来源:互联网 时间:2017-07-27

有2种数据类型,一种重复率高、一种重复率低,选择这2种类型哪个建立索引好?为什么?


之前确实没考虑过这个问题,但觉得既然是使用空间换时间,数据结构本身重复率那么高索引的作用应该就不大了吧。


后来结束到家查看资料后,发现这个名词叫做”离散率”。对于DBA这个问题应该是最最基础的了。


建立索引的几个原则:


在where
、group by
、on
语句中出现的列。
最左前缀匹配。
离散度大的放到联合索引前面,比如a的离散度高于b,则使用index(a,b)。
索引列不参与计算。
索引字段越小越好。
尽量扩展索引而不是新建索引。(存疑)

索引的缺点:


额外占用磁盘,降低写操作性能。
修改表内容时候,索引需要更新。

相关阅读:
Top