Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изпълнението на съхранена процедура от DotNet отнема много време, но в SSMS е незабавно

Тъй като изглеждаше, че коментарът ми дава правилния отговор, реших да го преместя в пълен отговор за бъдещите в духа на stackoverflow.

Проблемът ви изглежда е причинен от параметър на SQL Server .За да го предотвратите, просто присвоете стойностите на вашите входящи параметри към други променливи, декларирани точно в горната част на вашия SP.

Вижте тази хубава статия за това

Пример:

CREATE PROCEDURE dbo.MyProcedure
(
    @Param1 INT
)
AS

declare @MyParam1 INT
set @MyParam1 = @Param1

SELECT * FROM dbo.MyTable WHERE ColumnName = @MyParam1 

GO

Копирах тази информация от eggheadcafe.com .

Редактиране:Според коментара на Johann Strydom, ето друга опция:Оптимизиране на управлявани от параметри заявки с SQL Server OPTIMIZE FOR Hint .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008:ТОП 10 и различни заедно

  2. Как да създам списък, разделен със запетая, използвайки SQL заявка?

  3. Направете лесна производителност на SQL Server

  4. SQL Server 2008 предоставя разрешение за information_schema.columns

  5. Опростен синтаксис:Множество ограничения в израза Alter Table