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

Việc thực thi proc được lưu trữ từ DotNet mất rất nhiều thời gian nhưng trong SSMS thì ngay lập tức

Vì nhận xét của tôi dường như cung cấp câu trả lời chính xác, tôi quyết định chuyển nó thành một câu trả lời đầy đủ cho hậu thế theo tinh thần của stackoverflow.

Sự cố của bạn dường như là do Xem thông số của SQL Server gây ra Để ngăn chặn điều này, chỉ cần gán các giá trị tham số đến của bạn cho các biến khác được khai báo ngay ở đầu SP của bạn.

Xem Bài viết hay này về nó

Ví dụ:

CREATE PROCEDURE dbo.MyProcedure
(
    @Param1 INT
)
AS

declare @MyParam1 INT
set @MyParam1 = @Param1

SELECT * FROM dbo.MyTable WHERE ColumnName = @MyParam1 

GO

Tôi đã sao chép thông tin này từ eggheadcafe.com .

Chỉnh sửa:Theo nhận xét của Johann Strydom, đây là một tùy chọn khác: Tối ưu hóa các truy vấn theo hướng tham số với SQL Server TỐI ƯU HÓA Gợi ý .



  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 sử dụng mệnh đề Where trong SQL ngắn mạch

  2. Lệnh có điều kiện của SQL Server theo

  3. Tập lệnh khoảng không quảng cáo thu thập SQL Server -3

  4. Làm thế nào để SQL Server quyết định định dạng cho chuyển đổi ngày giờ ngầm định?

  5. tách chữ và số bằng sql