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

Trong SQL Server, tôi nên tạo chỉ mục cho cột nhận dạng hay cột được tạo tự động?

create table test (Id int identity)
go
sp_help test
The object 'test' does not have any indexes, or you do not have permissions.

No constraints are defined on object 'test', or you do not have permissions.

Như một thông lệ chung, bạn sẽ tạo một chỉ mục duy nhất trên cột danh tính của mình, điều này giúp tăng tốc độ tra cứu.

Thông thường, bạn cũng muốn các cột danh tính của mình là 'chỉ mục được nhóm' (Id int identity primary key là ký hiệu tắt), có nghĩa là bảng được sắp xếp trên đĩa theo thứ tự cột nhận dạng của bạn. Điều này tối ưu hóa cho các lần chèn, vì trang được chèn vào có xu hướng nằm trong bộ nhớ. Trong một số trường hợp, khi bạn thực hiện tra cứu phạm vi rất thường xuyên trên dữ liệu khác trong bảng, bạn có thể xem xét nhóm các cột khác thay thế, vì SQL Server chỉ cho phép bạn một chỉ mục được phân nhóm trên mỗi bảng.



  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 muốn Giờ, Tối thiểu, chênh lệch thứ hai so với hai ngày hẹn hò

  2. Sử dụng thuộc tính nhiều lần trong truy vấn FOR XML Path T-SQL có cùng tên phần tử

  3. SQL Server Query Time Out

  4. Có cách nào để DISTINCT hoặc nhóm theo văn bản (hoặc văn bản) trong SQL Server 2005 không?

  5. Làm cách nào để tính toán tương đương với SQL Server (băm ('SHA1', [ColumnName])) trong C #?