如何根据需求在普通索引和唯一索引之间做出合适的选择?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2978个文字,预计阅读时间需要12分钟。
(1)唯一索引是什么?唯一索引不允许存在具有相同索引值的行。例如,身份证号码是唯一的,每个人的身份证号都是独一无二的。
(2)例子:假设你维护一个市民系统,每个人都有一个唯一的身份证号,而业务代码已经确保了不会重复。
1)什么是唯一索引?
-
不允许具有索引值相同的行,比如身份证唯一的
案例:假设你在维护一个市民系统,每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,那该如何建索引?
select name from CUser where id_card = 'xxxxxxxyyyyyyzzzzz';
2)为什么说不建议把身份证号当做主键?
-
身份证号字段比较大
3)对上面的语句建索引我们该怎么建?
-
业务代码已经保证了不会写入重复的身份证号,索引给 id_card 字段创建唯一索引,或者创建一个普通索引。
本文共计2978个文字,预计阅读时间需要12分钟。
(1)唯一索引是什么?唯一索引不允许存在具有相同索引值的行。例如,身份证号码是唯一的,每个人的身份证号都是独一无二的。
(2)例子:假设你维护一个市民系统,每个人都有一个唯一的身份证号,而业务代码已经确保了不会重复。
1)什么是唯一索引?
-
不允许具有索引值相同的行,比如身份证唯一的
案例:假设你在维护一个市民系统,每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,那该如何建索引?
select name from CUser where id_card = 'xxxxxxxyyyyyyzzzzz';
2)为什么说不建议把身份证号当做主键?
-
身份证号字段比较大
3)对上面的语句建索引我们该怎么建?
-
业务代码已经保证了不会写入重复的身份证号,索引给 id_card 字段创建唯一索引,或者创建一个普通索引。

