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

Sự cố phân mảnh máy chủ SQL

Các chỉ mục được phân cụm kiểm soát thứ tự của dữ liệu trên ĐĨA. Đây là một trong những lý do chính tại sao bạn thường nên thiết lập một khóa số nguyên luôn tăng để hoạt động như một chỉ mục được phân nhóm. Bằng cách này khi nhiều dữ liệu được thêm vào bảng, chúng sẽ được thêm vào cuối dữ liệu hiện có.

Nếu nó không phải là một số tự động tăng và các hàng mới có thể chứa các giá trị sẽ được sắp xếp ở đâu đó giữa các giá trị hiện có, thì SQL Server về cơ bản sẽ đẩy dữ liệu lên đĩa nơi nó thuộc về (để giữ lại thứ tự của các giá trị khóa chỉ mục được nhóm lại), tạo ra sự phân mảnh và chi phí tiềm ẩn nghiêm trọng khi IO viết tiếp tục làm chậm cơ sở dữ liệu.

Tôi nghi ngờ bạn gặp vấn đề tương tự với các giá trị UserRecord của mình.

Vì vậy, những gì tôi sẽ làm, là thêm một khóa chính tự động tăng theo cụm riêng biệt vào mỗi bảng và làm lại các tham chiếu và truy vấn FK của bạn khi cần thiết.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Toán tử hiệu quả bên sử dụng không hợp lệ Chèn trong một hàm

  2. tham số tùy chọn trong SQL Server được lưu trữ proc?

  3. Trích xuất giá trị số đầu tiên từ chuỗi sql

  4. Giá trị khóa chính sau khi chèn hàng trong SQL Server 2005

  5. Cách nối các giá trị có cùng id trong sql