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

Thêm INDEX vào CTE

Tôi đã có cùng một yêu cầu. Không thể thêm chỉ mục vào CTE. Tuy nhiên, trong CTE, hãy chọn thêm ĐẶT HÀNG THEO mệnh đề trên các trường đã tham gia đã giảm thời gian thực hiện từ 20 phút trở lên xuống dưới 10 giây.

(Bạn cũng cần THÊM 100 PERCENT CHỌN HÀNG ĐẦU để cho phép ĐẶT HÀNG THEO trong một lựa chọn CTE.)

[chỉnh sửa để thêm trích dẫn được diễn giải từ nhận xét bên dưới]:
Nếu bạn có DISTINCT trong CTE thì TOP 100 PERCENT không hoạt động. Phương pháp gian lận này luôn có sẵn:không cần TOP trong lựa chọn, hãy thay đổi câu lệnh ORDER BY để đọc:
ORDER BY [Blah] OFFSET 0 ROWS



  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 thay đổi chế độ ủy quyền SQL Server mà không cần Management Studio

  2. Làm cách nào để chuyển một byte [] thành datetime trong C #?

  3. Làm cách nào để tạo khóa chính làm AUTOINCREMENT

  4. SQL Server - Chuyển các hàng thành cột

  5. Triển khai dự án cơ sở dữ liệu SQL Server (SSDT) ​​thông qua dòng lệnh