Mysql中什么样的列适合建索引

北京中科白癜风医院圆白癜风抗白梦 https://mjbk.familydoctor.com.cn/bjbdfyy/

大家知道,在Mysql数据库中索引有这举足轻重的作用。索引最为关键的作用是可以提升数据检索(也就是数据查询)的性能。

但是具体什么样的列才适合建索引呢?今天我们就来聊聊这个话题。

先抛开列不说,先说表,要数据量足够大,才需要去建索引。如果一张表的数据量很小,就几百条数据,也没有多少增长量,那这样的表其实也没什么建索引的必要。

然后我们开始说列。

一张表一般都要去建主键,所以主键索引几乎是每张表必备的,这个就不多说了。选择性高的列,也就是重复度低的列。比如女子学校学生表中的性别列,所有数据的值都是女,这样的列就不适合建索引。比如学生表中的身份证号列,选择性就很高,就适合建索引。经常用于查询的列(出现在where条件中的列)。不过如果不符合上一条的条件,即便是出现在where条件中也不适合建索引,甚至就不应该出现在where条件中。多表关联查询时作为关联条件的列。比如学生表中有班级ID的列用于和班级表关联查询时作为关联条件,这个列就适合建索引。值会频繁变化的列不适合建索引。因为在数据发生变化时是需要针对索引做一些处理的,所以如果不是有非常必要的原因,不要值会频繁变化的列上建索引,会影响数据更新的性能。反过来也就是说索引要建在值比较固定不变的列上。一张表上不要建太多的索引。和上一条的原因类似,如果一张表上的索引太多,会严重影响数据增删改的性能。也会耗费很大的磁盘空间。今天的内容就到这里了,如有欠缺之处,欢迎在评论区补充指正。




转载请注明:http://www.aierlanlan.com/rzfs/4028.html