none
Процедура иногда выполняется медленно. RRS feed

  • Вопрос

  • Есть в организации SQL сервер 2005IA SP3+ CU 10.
    если создать процедуру таким образом

    CREATE PROCEDURE TestProc

                    @name varchar (100)

                    ,@id int

    AS

    SELECT * FROM TestTable WHERE Name = @name AND ID = @id

    то эта процедура иногда (закономерность не нашли) выполняется  приблизительно 5 минут, а если вручную запустить только Select то он выполняется мене чем за секунду.

    Если сделать alter  этой процедуре то она начинает некоторое время выполнятся мене чем за секуду. а потом снова таже проблема.
    Но если процедуру создать таким образом то то она всегда выполняется за мене чем 1 секунду без проблем.

    CREATE PROCEDURE TestProc

                    @name varchar (100)

                    ,@id int

    AS

    DECLARE @_name varchar (100), @_id int

    SET @_name = @name

    SET @_id = @id

    SELECT * FROM TestTable WHERE Name = @_name AND ID = @_id

     

    Я в SQL разбираюсь плохо.
    В чём может быть дело?
    спасибо

    2 марта 2011 г. 8:49

Ответы

Все ответы