Teradata - Chỉ mục phụ
Một bảng chỉ có thể chứa một chỉ mục chính. Thường xuyên hơn, bạn sẽ gặp các tình huống trong đó bảng chứa các cột khác, sử dụng dữ liệu mà dữ liệu thường xuyên được truy cập. Teradata sẽ thực hiện quét toàn bộ bảng cho các truy vấn đó. Chỉ mục phụ giải quyết vấn đề này.
Các chỉ mục thứ cấp là một đường dẫn thay thế để truy cập dữ liệu. Có một số khác biệt giữa chỉ mục chính và chỉ mục phụ.
Chỉ mục thứ cấp không tham gia vào việc phân phối dữ liệu.
Giá trị chỉ mục phụ được lưu trữ trong bảng phụ. Các bảng này được tạo trong tất cả các AMP.
Chỉ mục phụ là tùy chọn.
Chúng có thể được tạo trong quá trình tạo bảng hoặc sau khi tạo bảng.
Chúng chiếm thêm không gian vì chúng tạo bảng con và chúng cũng yêu cầu bảo trì vì bảng con cần được cập nhật cho mỗi hàng mới.
Có hai loại chỉ mục phụ -
- Chỉ số thứ cấp duy nhất (USI)
- Chỉ mục phụ không duy nhất (NUSI)
Chỉ số thứ cấp duy nhất (USI)
Chỉ mục phụ duy nhất chỉ cho phép các giá trị duy nhất cho các cột được xác định là USI. Truy cập hàng bằng USI là một hoạt động hai amp.
Tạo chỉ mục phụ duy nhất
Ví dụ sau tạo USI trên cột EmployeeNo của bảng nhân viên.
CREATE UNIQUE INDEX(EmployeeNo) on employee;
Chỉ mục phụ không duy nhất (NUSI)
Chỉ mục phụ không duy nhất cho phép các giá trị trùng lặp cho các cột được xác định là NUSI. Truy cập hàng bằng NUSI là hoạt động tất cả các bộ khuếch đại.
Tạo chỉ mục phụ không duy nhất
Ví dụ sau tạo NUSI trên cột FirstName của bảng nhân viên.
CREATE INDEX(FirstName) on Employee;