📅  最后修改于: 2020-11-29 09:02:42             🧑  作者: Mango
一个表只能包含一个主索引。更常见的是,您会遇到表包含其他列的情况,经常使用该列访问数据。 Teradata将对这些查询执行全表扫描。二级索引解决了此问题。
二级索引是访问数据的备用路径。主索引和辅助索引之间存在一些差异。
二级索引不参与数据分发。
次要索引值存储在子表中。这些表内置于所有AMP中。
次要索引是可选的。
它们可以在表创建期间或表创建后创建。
由于它们建立了子表,因此它们占用了额外的空间,并且由于需要为每个新行更新子表,因此它们也需要维护。
二级索引有两种类型-
唯一二级索引仅允许定义为USI的列的唯一值。通过USI访问该行是两安培操作。
以下示例在employee表的EmployeeNo列上创建USI。
CREATE UNIQUE INDEX(EmployeeNo) on employee;
非唯一二级索引允许为NUSI定义的列提供重复值。 NUSI访问行是全放大器操作。
以下示例在employee表的FirstName列上创建NUSI。
CREATE INDEX(FirstName) on Employee;