Teradata - 二级索引



一个表只能包含一个主键索引。更常见的是,你会遇到表包含其他列的情况,使用这些列可以频繁地访问数据。对于这些查询,Teradata 将执行全表扫描。二级索引解决了这个问题。

二级索引是访问数据的另一条路径。主键索引和二级索引之间存在一些差异。

  • 二级索引不参与数据分布。

  • 二级索引值存储在子表中。这些表在所有 AMP 中构建。

  • 二级索引是可选的。

  • 它们可以在创建表时创建,也可以在创建表之后创建。

  • 它们占用额外的空间,因为它们构建子表,并且它们也需要维护,因为需要为每一行更新子表。

二级索引有两种类型:

  • 唯一二级索引 (USI)
  • 非唯一二级索引 (NUSI)

唯一二级索引 (USI)

唯一二级索引仅允许为定义为 USI 的列提供唯一值。通过 USI 访问行是一个双 AMP 操作。

创建唯一二级索引

以下示例在 employee 表的 EmployeeNo 列上创建 USI。

CREATE UNIQUE INDEX(EmployeeNo) on employee;

非唯一二级索引 (NUSI)

非唯一二级索引允许为定义为 NUSI 的列提供重复值。通过 NUSI 访问行是所有 AMP 操作。

创建非唯一二级索引

以下示例在 employee 表的 FirstName 列上创建 NUSI。

CREATE INDEX(FirstName) on Employee;
广告