如何根据需求在普通索引和唯一索引之间做出合适的选择?

2026-05-27 18:070阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计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 字段创建唯一索引,或者创建一个普通索引。

阅读全文