mysql 高效的索引策略

1. 索引列独立使用,避免使用函数

例如 where to_char(xx,xx)=xx

 

2. 索引选择性尽量大一些

 索引选择性=不重复的索引值和总记录的比值,返回在0到1之间

尽量选择接近1的列建立索引,例如性别 sex不适合作为索引,因为它本身就只有两种可能性,索引选择性很低

 

3. 避免给很长的列建索引

1) 索引本身也需要占用空间

2) 列很长,查询的效率很低 

3) 可以使用前缀索引,取该列的前10或20个字符作为索引

4) 可以增加冗余列,使用crc32(xx)作为新的索引列

 

4.  联合索引 

1) 联合索引的使用,是从左侧字段开始

2) [A,B] 只有当A字段使用等值匹配时,B字段索引查询才会生效

3) [A,B] 单独使用B字段不会走索引

 

5. 给每个列都建立索引 是错误的做法

索引本身是有维护成本的

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章