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

Sự khác biệt về thời gian thực hiện thủ tục được lưu trữ trong SQL

Vấn đề với sự khác biệt giữa việc gọi SP trực tiếp và từ mã .NET, có thể do đánh giá tham số. SQL Server có thể lưu vào bộ nhớ đệm kế hoạch thực thi không tối ưu cho các tham số bạn đang chuyển từ mã.

Để tránh điều này, hãy thử thêm WITH RECOMPILE vào định nghĩa SP của bạn, ví dụ:

CREATE PROCEDURE MySP (
    ... parameters...
) WITH RECOMPILE

AS

BEGIN
   ...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiểu chức năng bảo mật máy chủ SQL HAS_Permis_BY_Name và các trường hợp sử dụng của nó

  2. Tạo một bảng SQL Server từ một dữ liệu C #

  3. Tạo tập lệnh chèn cho các bản ghi đã chọn?

  4. Di chuyển bảng máy chủ SQL sang nhóm tệp khác nhau

  5. Cách lấy DateTime nullable ra khỏi cơ sở dữ liệu