Teradata 主索引
主索引用于指定数据驻留在Teradata中的位置。 它用于指定哪个AMP获取数据行。 Teradata中的每个表都需要定义主索引。 如果未定义主索引,Teradata会自动分配主索引。 主索引提供了访问数据的最快方式。 主要最多可以有64列。
在创建表时定义主索引。 有两种类型的主索引。
- 唯一主索引(UPI)
- 非唯一主索引(NUPI)
唯一主索引(UPI)
如果表被定义为具有UPI,则被认为是UPI的列不应该具有任何重复值。 如果插入任何重复值,它们将被拒绝。
创建唯一主索引
如果表被定义为具有UPI,则被认为是UPI的列不应该具有任何重复值。 如果插入任何重复值,它们将被拒绝。...
CREATE SET TABLE Salary ( EmployeeNo INTEGER, Gross INTEGER, Deduction INTEGER, NetPay INTEGER ) UNIQUE PRIMARY INDEX(EmployeeNo);
非唯一主索引(NUPI)
如果表被定义为具有NUPI,则被视为UPI的列可以接受重复值。
创建非唯一主索引
以下示例创建了将EmployeeNo列作为非唯一主索引的员工帐户表。 EmployeeNo被定义为非唯一主索引,因为员工在表中可以有多个帐户; 一个用于薪金帐户,另一个用于报销帐户。
CREATE SET TABLE Employee _Accounts ( EmployeeNo INTEGER, employee_bank_account_type BYTEINT. employee_bank_account_number INTEGER, employee_bank_name VARCHAR(30), employee_bank_city VARCHAR(30) ) PRIMARY INDEX(EmployeeNo);