介绍过索引的基本概念了解了唯一索引和普通索引的区别。继续来谈谈在不同的业务场景下,应该选择普通索引还是唯一索引?
假设维护User表每个人都有一个唯一嘚身份证号,而且业务代码已经保证了不会写入两个重复的身份证号如果用户系统需要按照身份证号查姓名,就会执行类似这样的SQL语句:
所以你一定会考虑在id_card字段上建索引。由于身份证号字段比较大不建议你把身份证号当做主键,那么现在有两个选择要么给id_card字段创建唯一索引,要么创建一个普通索引如果业务代码已经保证了不会写入重复的身份证号,那么这两个选择逻辑上都是正确的
**问题: ** 从性能的角度考虑,你选择唯一索引还是普通索引呢选择的依据是什么呢?
-
索引的常见模型 哈希表:哈希表做索引可能出现散列冲突一種处理这种情况的方式就是链表法,同一个key拉出一个链表...