sql - “非唯一索引”的目的是什么
问题描述
我真的不明白为什么完全允许使用非唯一索引。考虑一本书的索引,我有几个相同的字幕没有任何意义(标题 1 --- 第 10 页,标题 1 --- 第 40 页 ...)。我认为索引应该是唯一的,这样我就可以简单地使用索引找到我想要的数据。
解决方案
非唯一索引的目的是提高查询效率。唯一的用途是性能。
它们可以以多种方式使用;他们之中有一些是:
- 根据索引过滤行。例如,获取邮政编码为 12345 的所有客户。
- 加入另一张桌子。为此目的,外键通常具有索引。
- 排序结果集。
- 促进聚合。
唯一索引增加了一项便利,即保证数据的完整性。但是,唯一性与如何有效使用索引无关。
推荐阅读
- python - 如果没有更改,不要在上下文中返回表单?
- swiftui - SwiftUI 大小以适合使用 GeometryReader 的字体,字体太大
- c# - DropDownList.SelectedIndex 设置为 1
- python - pydoc将python子模块内容注入主模块
- sql - 在 HeidiSQL 中声明变量
- wpf - 为什么我的最大化和 DragMove 在我的 MouseDown 事件中不起作用?
- flutter - 使用 TextEditingController 在下拉菜单中传递项目,在颤动中
- xamarin.forms - 如何在方法 Resume 中将参数从 MainActivity 传递到 App.cs
- python - 将列表项与其他列值连接起来
- r - 字符匹配时如何获取id