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

Tại sao SQL Server ORDER BY của tôi chậm mặc dù cột được sắp xếp đã được lập chỉ mục?

Nếu truy vấn của bạn không chứa một đơn đặt hàng thì nó sẽ trả về dữ liệu trong bất kỳ chương trình oreder nào mà nó được tìm thấy. Không có gì đảm bảo rằng dữ liệu thậm chí sẽ được trả về theo đúng thứ tự khi bạn chạy lại truy vấn.

Khi bạn bao gồm một mệnh đề theo thứ tự, dabatase phải xây dựng một danh sách các hàng theo đúng thứ tự và sau đó trả về dữ liệu theo thứ tự đó. Điều này có thể mất nhiều quá trình xử lý dẫn đến mất thêm thời gian.

Có thể mất nhiều thời gian hơn để sắp xếp một số lượng lớn các cột, mà truy vấn của bạn có thể trả về. Tại một thời điểm nào đó, bạn sẽ hết dung lượng bộ đệm và cơ sở dữ liệu sẽ phải bắt đầu hoán đổi và hiệu suất sẽ giảm xuống.

Thử trả lại ít cột hơn (chỉ định cột bạn cần thay vì Chọn *) và xem truy vấn có chạy nhanh hơn khô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. Thay đổi bảng &Thêm khóa UNIQUE dẫn đến lỗi

  2. SQL Server bcp Utility và kiểu dữ liệu số

  3. Cách nâng cấp (cập nhật hoặc chèn) trong SQL Server 2005

  4. Làm cách nào để chỉnh sửa các giá trị của một INSERT trong một trình kích hoạt trên SQL Server?

  5. Làm thế nào để sử dụng DataContext.ExecuteCommand và nhận giá trị trả về proc được lưu trữ đã thực thi?