How are the data distributed in
Secondary Index Subtables in Teradata?
When a user creates a Secondary Index, Teradata
automatically creates a Secondary Index Subtable. The subtable will contain
the:
• Secondary
Index Value
• Secondary
Index Row ID
• Primary Index
Row ID
When a user writes an SQL query that has an SI in
the WHERE clause, the Parsing Engine will Hash the Secondary Index Value. The
output is the Row Hash, which points to a bucket in the Hash Map.
That bucket contains an AMP number and the Parsing
Engine then knows which AMP contains the Secondary Index Subtable pertaining to
the requested USI information.
The PE will direct the chosen AMP to look-up the
Row Hash in the Subtable. The AMP will check to see if the Row Hash exists in
the Subtable and double check the subtable row with the actual secondary index
value. Then, the AMP will pass the Primary Index Row ID back up the BYNET
network. This request is directed to the AMP with the base table row, which is
then easily retrieved.
No comments:
Post a Comment