📜  Teradata-二级索引

📅  最后修改于: 2020-11-29 09:02:42             🧑  作者: Mango


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

二级索引是访问数据的备用路径。主索引和辅助索引之间存在一些差异。

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

  • 次要索引值存储在子表中。这些表内置于所有AMP中。

  • 次要索引是可选的。

  • 它们可以在表创建期间或表创建后创建。

  • 由于它们建立了子表,因此它们占用了额外的空间,并且由于需要为每个新行更新子表,因此它们也需要维护。

二级索引有两种类型-

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

唯一二级索引(USI)

唯一二级索引仅允许定义为USI的列的唯一值。通过USI访问该行是两安培操作。

创建唯一的二级索引

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

CREATE UNIQUE INDEX(EmployeeNo) on employee;

非唯一二级索引(NUSI)

非唯一二级索引允许为NUSI定义的列提供重复值。 NUSI访问行是全放大器操作。

创建非唯一二级索引

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

CREATE INDEX(FirstName) on Employee;