数据库在什么情况下适合添加索引

Posted 面壁偷笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库在什么情况下适合添加索引相关的知识,希望对你有一定的参考价值。

1、   表的某个字段值得离散度越高,该字段越适合选作索引的关键字。主键字段以及唯一性约束字段适合选作索引的关键字,原因就是这些字段的值非常离散。尤其是在主键字段创建索引时, cardinality (基数,集的势)的值就等于该表的行数。 mysql 在处理主键约束以及唯一性约束时,考虑周全。数据库用户创建主键约束的同时, MySQL 自动创建主索引( primary index ),且索引名称为 Primary;数据库用户创建唯一性索引时, MySQL 自动创建唯一性索引( unique index ),默认情况下,索引名为唯一性索引的字段名。

2、   占用存储空间少的字段更适合选作索引的关键字。例如,与字符串相比,整数字段占用的存储空间较少,因此,较为适合选作索引关键字。

3、   存储空间固定的字段更适合选作索引的关键字。与 text 类型的字段相比, char 类型的字段较为适合选作索引关键字。

4、   Where 子句中经常使用的字段应该创建索引,分组字段或者排序字段应该创建索引,两个表的连接字段应该创建索引。

5、   更新频繁的字段不适合创建索引,不会出现在 where 子句中的字段不应该创建索引。

6、   最左前缀原则。

7、   尽量使用前缀索引。

以上是关于数据库在什么情况下适合添加索引的主要内容,如果未能解决你的问题,请参考以下文章

MySQL什么时候适合建索引,什么时候不适合建索引

数据库索引

如何在mysql中明智地应用索引

在不添加/删除聚集索引的情况下减少 SQL Server 表碎片?

什么情况下适合用UDP协议,什么情况下适合用TCP协议?

数据库索引是什么