首页 > 解决方案 > “非唯一索引”的目的是什么

问题描述

我真的不明白为什么完全允许使用非唯一索引。考虑一本书的索引,我有几个相同的字幕没有任何意义(标题 1 --- 第 10 页,标题 1 --- 第 40 页 ...)。我认为索引应该是唯一的,这样我就可以简单地使用索引找到我想要的数据。

标签: sql

解决方案


非唯一索引的目的是提高查询效率。唯一的用途是性能。

它们可以以多种方式使用;他们之中有一些是:

  • 根据索引过滤行。例如,获取邮政编码为 12345 的所有客户。
  • 加入另一张桌子。为此目的,外键通常具有索引。
  • 排序结果集。
  • 促进聚合。

唯一索引增加了一项便利,即保证数据的完整性。但是,唯一性与如何有效使用索引无关。


推荐阅读