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

Thuyết phục máy chủ SQL tìm kiếm ngược trên chỉ mục được phân cụm cho một lược đồ chỉ chèn

SQL Server không thể tạo một kế hoạch truy vấn như vậy kể từ năm 2012. Viết lại truy vấn:

SELECT ids.feeditem_id, MaxID
FROM (VALUES (827), (815), (806)) ids(feeditem_id)
CROSS APPLY (
 select TOP 1 ID AS MaxID
 from spotquote sq
 where sq.feeditem_id = ids.feeditem_id
 ORDER BY ID DESC
) x

Điều này dẫn đến một kế hoạch tìm kiếm spotquote bảng cho mỗi ID mà bạn chỉ định. Đây là điều tốt nhất chúng tôi có thể làm. SQL Server không thể hủy bỏ một tập hợp ngay khi tất cả các nhóm mà bạn quan tâm có ít nhất một giá trị.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa khóa duy nhất với ràng buộc 'không null' và khóa chính là gì?

  2. Định dạng của chuỗi khởi tạo không phù hợp với đặc điểm kỹ thuật bắt đầu từ chỉ mục 0

  3. 'COLLATE SQL_Latin1_General_CP1_CI_AS' làm gì?

  4. Cách RANK () hoạt động trong SQL Server

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