面试题心问:数据库索引设计原则(一)。
Hello大家好!相信绝大多数做开发的小伙伴们,数据库素引相关的问题,今天跟大家简单聊一聊,希望能够对大家有所帮助。
素引就好比一本书的目录一样,为了让它的使用效率更高,必须考虑在哪些字段上和创建什么类型的素引?设计不合理或者缺少,都会对数据库和应用程序的性能造成障碍!
哪些情况适合创建素引?
1.字段的数值有唯一性的限制,因此在数据表中起到约束的作用。如某个字段是唯一的,就可以直接创建,这样可以更快速地通过。
2.频繁作为WHERE查询条件的字段。这就好比我们在看书的时候,经常按照章节名称来快速找到对应的章节故事,那么这个章节名称就可以设置为素引了。
3.经常GROUP BY和ORDERBY的列。原理跟WHERE是一样的。经常用做条件的字段,设置素引是能够提高查询效率的,比如还有UPDATE;DELETE的WHERE条件列;
4.DISTINCT。字段需要创建素引。如果需要对某个字段进行去重,那么,我们就可以对去重的这个字段,进行系引。
5.使用宇符串。
建立素引。在varchar字段上建立素引时,没必要对全字段根据实际文本区分度,决定素引长度。
6.在多个字段都要创建系引的情况下,联合素引优于单值素引。
7.素引的最左原则。使用最频繁的列放到联合素引的左侧。
8.多表关联时。对连接字段设置素引。
这期我们就先说适合创建素引的情况,那么哪些情况不适合呢?我们下期接着聊!