MySQL索引笔记

来源:互联网 发布:数据归一化的作用 编辑:程序博客网 时间:2024/06/16 10:32

索引设计的原则

1、 为搜索设计索时,不一定选择要筛选出的列。最适合索引的列是出现在where子句中的列,或连接子句中指定的列。

2、 设计索引时尽量选择区分度好的列建立索引。

3、 使用短索引。在对文本列索引时,如果一定长度的子串已经拥有很好的区分度,那么就不要对整个列进行索引。

4、 利用最左前缀。多列索引可启到几个索引的作用,因为可以利用索引中最左边的列来匹配,这样的列成为最左前缀。

5、 不要过度索引。每个额外的索引都要占用额外的磁盘空间,并降低写和更新操作的性能,这些操作可能涉及到索引的更新和重建。

 

B-Tree索引 VS  Hash索引

B-Tree索引和Hash索引各种其不同的适用范围

Hash索引:

只用于使用=或者<>操作符的等式比较;不能使用hash索引为order by加速;无法确定两值之间数据的行数,所以MyISAM表转Memory表会影响一些查询的效率;只能使用整个关键字搜索一行。

B-Tree索引:

用于所有的比较操作符,(like ‘pattern’中,pattern以通配符开始的除外)。

 

原创粉丝点击