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

Hiệu suất kế hoạch thực thi thủ tục được lưu trữ kém trong SQL - đánh hơi tham số

Về cơ bản là có - tính năng đánh hơi tham số (trong một số cấp bản vá của) SQL Server 2005 bị hỏng nặng. Tôi đã thấy các kế hoạch không bao giờ hoàn thành một cách hiệu quả (trong vòng vài giờ trên một tập dữ liệu nhỏ) ngay cả đối với các tập dữ liệu nhỏ (vài nghìn hàng) hoàn thành trong vài giây sau khi các thông số bị che. Và đây là trường hợp tham số luôn là một số giống nhau. Tôi muốn nói thêm rằng cùng lúc xử lý vấn đề này, tôi thấy có rất nhiều vấn đề với LEFT JOIN / NULLs không hoàn thành và tôi đã thay thế chúng bằng NOT IN hoặc NOT EXISTS và điều này đã giải quyết kế hoạch thành một thứ gì đó sẽ hoàn thành. Một lần nữa, một vấn đề về kế hoạch thực thi (rất kém). Tại thời điểm tôi đang giải quyết vấn đề này, DBA sẽ không cấp cho tôi quyền truy cập SHOWPLAN và vì tôi bắt đầu che mọi thông số SP, nên tôi không gặp phải bất kỳ vấn đề nào về kế hoạch thực thi mà tôi sẽ phải đào sâu vào điều này nếu không hoàn thành. .

Trong SQL Server 2008, bạn có thể sử dụng OPTIMIZE FOR UNKNOWN .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 4 cách chuyển đổi một số thành một phần trăm trong SQL Server (T-SQL)

  2. Tách các giá trị được phân tách trong một cột SQL thành nhiều hàng

  3. Cách đơn giản nhất để thực hiện tự tham gia đệ quy?

  4. Một cái nhìn logic không tưởng tượng về các quy ước đặt tên máy chủ SQL

  5. Cách NULLIF () hoạt động trong SQL Server