索引 - 969251639/study GitHub Wiki
索引(Index)是帮助 MySQL 高效获取数据的数据结构。常见的查询算法,顺序查找,二分查找,二叉排序树查找,哈希散列法,分块查找,平衡多路搜索树 B 树(B-tree)
1. 常见索引原则有
- 选择唯一性索引, 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。
- 为经常需要排序、分组和联合操作的字段建立索引 :
- 为常作为查询条件的字段建立 索引 。
- 限制索引的数目:越多的索引,会使更新表变得很浪费时间。
- 尽量使用数据量少的索引
- 如果索引的值很长,那么查询的速度会受到影响。
- 尽量使用前缀来索引,如果索引字段的值很长,最好使用值的前缀来索引。
- 删除不再使用或者很少使用的索引
- 最左前缀匹配原则,非常重要的原则。
- 尽量选择区分度高的列作为索引,区分度的公式是表示字段不重复的比例
- 索引列不能参与计算,保持列“干净”:带函数的查询不参与索引。
- 尽量的扩展索引,不要新建索引。