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

SQL Server:NẾU TỒN TẠI làm chậm một truy vấn

Bạn đã thử chạy truy vấn ban đầu với TOP 1 chưa? rất có thể nó sẽ chậm như vậy.

Đôi khi khi trình tối ưu hóa nghĩ rằng một cái gì đó rất có thể xảy ra và sẽ trả về một tập hợp dữ liệu khổng lồ mà không tốn nhiều công sức (tức là gần như tất cả các bản ghi sẽ được trả về), nó chọn phần lớn là các phép nối vòng lặp vì nó chỉ cần lấy cái đầu tiên và một tham gia vòng lặp là tốt cho chỉ nhận được một vài bản ghi. Khi điều đó không thành sự thật, bạn sẽ phải mất cả ngày và mãi mới có kết quả.

Trong trường hợp của bạn, có vẻ như nó rất hiếm, vì vậy sự lựa chọn này gây tổn hại nặng nề. Thay vào đó, hãy thử làm điều gì đó như SELECT @count = COUNT(*) FROM ... và sau đó kiểm tra xem số đó có khác 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. Xóa nhiều nút trong một XQuery cho SQL Server

  2. nhóm sql theo so với riêng biệt

  3. Đặt DefaultDataPath và DefaultLogPath khi triển khai trong dự án cơ sở dữ liệu VS2010

  4. Dịch vụ phân tích Chỉ xác thực Windows

  5. Cách gắn / mở khóa truy vấn Windows và các tab khác trong SQL Server Management Studio (SSMS) - Hướng dẫn SQL Server / TSQL Phần 21