<div style="text-indent: 2em; font-size: larger;">

有些定义看上去真的晦涩难懂。

比如数据库中的索引分为群集索引和非群集索引。今天看到两个形象的比喻,才算真正领悟它们究竟是什么和什么。为了对比效果,先看一下它们的严格定义吧。

索引是仅在特定表或视图架构内存在的对象。它有以某一特定方式排序的查找值(或键值),使用索引是快速查找数据库中实际信息的一种方法。

利用索引可以加速信息的查找。索引分为如下两类:

  • 群集索引——每个表只能有一个群集索引。如果是群集索引,其含义为:群集索引对应的表按照其索引进行物理排序。
  • 非群集索引——每个表可以有多个非群集索引。非群集索引是让您找到数据的一些其他值。

对于像我这种没有使用索引经验的人,听到上面的描述,真丈二和尚摸不着头脑。

再看看比喻的说法吧,会让人感觉亲切好多。

索引的功能非常类似百科全书中的目录。

索引分为以下两类:

  • 群集索引——如果为一百科全书做索引,则群集索引是书的页码,按页码顺序保存百科全书中的信息。
  • 非群集索引——对于百科全书,非群集索引指的是百科全书后面的关键字目录。