Teradata - ดัชนีรอง

ตารางสามารถมีดัชนีหลักได้เพียงดัชนีเดียว บ่อยขึ้นคุณจะเจอสถานการณ์ที่ตารางมีคอลัมน์อื่น ๆ ซึ่งใช้ข้อมูลนี้ถูกเข้าถึงบ่อยครั้ง Teradata จะทำการสแกนแบบเต็มตารางสำหรับคำค้นหาเหล่านั้น ดัชนีรองช่วยแก้ปัญหานี้

ดัชนีรองเป็นเส้นทางอื่นในการเข้าถึงข้อมูล มีความแตกต่างบางประการระหว่างดัชนีหลักและดัชนีรอง

  • ดัชนีทุติยภูมิไม่เกี่ยวข้องกับการกระจายข้อมูล

  • ค่าดัชนีรองจะถูกเก็บไว้ในตารางย่อย ตารางเหล่านี้สร้างขึ้นใน AMP ทั้งหมด

  • ดัชนีรองเป็นทางเลือก

  • สามารถสร้างได้ในระหว่างการสร้างตารางหรือหลังจากสร้างตาราง

  • พวกเขาใช้พื้นที่เพิ่มเติมเนื่องจากสร้างตารางย่อยและยังต้องการการบำรุงรักษาเนื่องจากตารางย่อยต้องได้รับการอัปเดตสำหรับแต่ละแถวใหม่

ดัชนีทุติยภูมิมีสองประเภท -

  • ดัชนีรองเฉพาะ (USI)
  • ดัชนีรองที่ไม่ซ้ำกัน (NUSI)

ดัชนีรองเฉพาะ (USI)

ดัชนีรองที่ไม่ซ้ำกันอนุญาตเฉพาะค่าที่ไม่ซ้ำกันสำหรับคอลัมน์ที่กำหนดเป็น USI การเข้าถึงแถวโดย USI เป็นการดำเนินการสองแอมป์

สร้างดัชนีรองเฉพาะ

ตัวอย่างต่อไปนี้สร้าง USI ในคอลัมน์ EmployeeNo ของตารางพนักงาน

CREATE UNIQUE INDEX(EmployeeNo) on employee;

ดัชนีรองที่ไม่ซ้ำกัน (NUSI)

ดัชนีรองที่ไม่ซ้ำกันอนุญาตให้สร้างค่าที่ซ้ำกันสำหรับคอลัมน์ที่กำหนดเป็น NUSI การเข้าถึงแถวโดย NUSI เป็นการดำเนินการทั้งหมด

สร้างดัชนีรองที่ไม่ซ้ำกัน

ตัวอย่างต่อไปนี้สร้าง NUSI ในคอลัมน์ FirstName ของตารางพนักงาน

CREATE INDEX(FirstName) on Employee;