索引是一组按一个或多个键的值以逻辑方式进行排序的指针。这些指针可以引用表中的行、MDC 表中的块以及 XML 存储器对象中的 XML 数据等等。
对表添加数据时,该数据将被追加到底部(除非已对该表和正在添加的数据执行了其他操作)。不存在固有的数据顺序。搜索特定数据行时,必须检查从第一行到最后一行的每个表行。将索引用作按顺序访问表中的数据的一种方法,该顺序在其他情况下可能不可用。
通常,在表中搜索数据时,您将查找列具有特定值的行。可以使用数据行中的列值来标识整个行。例如,职员编号可能唯一地定义特定的职员。另外,也可能需要多个列才能标识一行。例如,客户名称与电话号码的组合。索引中用于标识数据行的列称为键。一个列可以在多个键中使用。
索引按键中的值进行排序。键可以是唯一的,也可以是非唯一的。每个表应该至少有一个唯一键;但还可以有其他非唯一键。每个索引正好有一个键。例如,可以使用职员标识编号(唯一)作为一个索引的键,并使用部门号(非唯一)作为另一个索引的键。
并不是所有索引都指向表中的行。MDC 块索引就指向数据的扩展数据块(或块)。XML 数据的 XML 索引使用特定的 XML 模式表达式来为存储在单个列中的 XML 文档中的路径和值建立索引。该列的数据类型必须是 XML。MDC 块索引和 XML 索引都是由系统生成的索引。