Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Khóa ngoại có tự động tạo chỉ mục không?

Khóa ngoại là một ràng buộc, một mối quan hệ giữa hai bảng - không liên quan gì đến một chỉ mục.

Nhưng một thực tế đã biết là rất có ý nghĩa khi lập chỉ mục tất cả các cột là một phần của bất kỳ mối quan hệ khóa ngoại nào, bởi vì thông qua mối quan hệ FK, bạn thường cần phải tra cứu một bảng liên quan và trích xuất các hàng nhất định dựa trên một giá trị hoặc một dải giá trị.

Vì vậy, rất hợp lý khi lập chỉ mục bất kỳ cột nào liên quan đến FK, nhưng FK mỗi cột không phải là một chỉ mục.

Hãy xem bài viết xuất sắc của Kimberly Tripp "Khi nào thì SQL Server ngừng đặt chỉ mục trên các cột Khoá ngoại?".



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tôi có nên sử dụng quy tắc CASCADE DELETE không?

  2. Chọn 10 bản ghi hàng đầu cho mỗi danh mục

  3. Cập nhật cột đếm từ dữ liệu trong bảng khác

  4. Sử dụng bộ giá trị trong mệnh đề SQL IN

  5. Làm cách nào để lấy Thời gian từ định dạng DateTime trong SQL?