我有一个8-AMP teradata数据库。我创建了一个带有Employee_no列的表EMPLOYEE,并创建了一个唯一的主索引。我将在此表中插入1000个唯一值(从1到1000)。 由于只有8 AMPS并且没有重复值,因此问题是 teradata将如何在这8个AMPS上插入1000条记录?
当我搜索网页时,我发现可能存在多个可以具有相同rowhash的唯一值。但是我没有在这种情况下找到有关teradata所遵循机制的更多信息。
答案 0 :(得分:1)
与上面提到的Rob一样,您可以使用HASH函数查看当前或潜在PI选择的表格分布:
SELECT HASHAMP(HASHBUCKET(HASHROW(employee_no))) AS AMP_No, COUNT(*) AS Num_Rows
FROM employee
GROUP BY 1
这将告诉您向每个AMP发送了多少行。如果你有像你说的UPI,它应该是非常均匀的分布。如果您有多列PI,则可以在HASHROW函数中包含多个列。
对于具有相同rowhash的唯一PI值的情况,这是可能的。为了唯一地标识行,系统使用PI rowhash值以及数字"唯一性值"区分具有相同PI值的行。
我没有TD系统可以测试,但请试试让我知道。