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

Các chỉ mục được phân nhóm có phải là duy nhất không?

Họ không là duy nhất nhưng nó chắc chắn được khuyến khích.
Tôi chưa gặp trường hợp nào mà tôi muốn tạo CI trên một cột không phải là duy nhất.

Điều gì xảy ra nếu bạn tạo CI trên cột không phải duy nhất

Điều này có dẫn đến hiệu suất kém không?

Thêm một công cụ duy nhất chắc chắn thêm một số chi phí trong việc tính toán và lưu trữ nó.
Nếu chi phí này sẽ đáng chú ý phụ thuộc vào một số yếu tố.

  • Bảng chứa bao nhiêu dữ liệu.
  • Tỷ lệ số lần chèn là bao nhiêu.
  • Mức độ thường xuyên của CI được sử dụng trong một lựa chọn (khi không có chỉ mục bao hàm nào tồn tại, hầu như luôn luôn).

Chỉnh sửa
như đã được Remus chỉ ra trong các nhận xét, có những trường hợp sử dụng mà việc tạo một CI không phải là duy nhất sẽ là một lựa chọn hợp lý. Tôi không gặp phải một trường hợp nào trong số những tình huống đó chỉ cho thấy sự thiếu khả năng tiếp xúc hoặc năng lực của tôi (hãy chọn lựa của bạn).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sử dụng API SSIS để đọc một gói và xác định chuỗi nhiệm vụ từ mã (PrecedenceConstraints)

  2. Cách xác định khoảng cách đầu tiên trong nhiều phạm vi ngày bắt đầu và ngày kết thúc cho từng thành viên riêng biệt trong T-SQL

  3. Làm thế nào để chọn dữ liệu từ 30 ngày?

  4. Pivots có cột động trong SQL Server

  5. Cách tìm đối chiếu trong SQL Server (T-SQL)