Mysql-索引设计原则

Posted 咖啡茶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql-索引设计原则相关的知识,希望对你有一定的参考价值。

索引设计原则

1.       搜索的索引列,不一定是所要选择的列。也就是说,最适合索引的列是出现在where子句中的列,或者连接子句中指定的列,而不是出现在select关键字后的选择列表中的列。

2.       使用唯一索引。考虑某列的分布,索引的列的基数越大,索引的效果越好。例如,对性别M/F列做索引没多大用处。

3.       使用短索引。如果是对字符串进行索引,如果有可能应该指定前缀长度。

4.       利用最左前缀。尽量将使用频繁且过滤效果好的字段放“左边”

5.       不要过度索引。

6.       Innodb默认会按照一定的顺序保存数据,如果明确定义了主键,则按照主键顺序保存。如果没有主键,但有唯一索引,就按照唯一索引的顺序保存。如果有几个列都是唯一的,都可以作为主键的时候,为了提高查询效率,应选择最常用访问的列作为主键。另外,innodb的普通 index都会保存主键的键值,所有主键要尽可能选择较短的数据类型。可以看出,应当尽量避免对主键的修改。经过dba的测试,保证主键的递增可以提高插入性能。

 

    针对6的部分, select time from table a where id >xxxx   。 其中id为主键。 所以在执行的时候, 如果time 也是索引 ,会执行索引覆盖。

以上是关于Mysql-索引设计原则的主要内容,如果未能解决你的问题,请参考以下文章

Mysql索引--01---索引的设计原则

Mysql-索引设计原则

MySQL进阶教程 索引使用与设计原则

mysql索引设计原则

MySQL高级篇——索引的创建与设计原则

Mysql设计索引的原则