Я пытаюсь оценить относительную производительность использования предложения WHERE... IN
в моем SP vs UNION
s.Как профилировать один SP с профилировщиком SQL Server?
Я пробовал смотреть время исполнения и использовать SET STATISTICS TIME ON
, но все просто возвращается, так как принимает 0 мс все время.
Так что я пытаюсь использовать профилировщик SQL Server. Я выбрал шаблон TSQL_SPs
, но даже до того, как я запустил SP, трасса заполняется мусором. Как я могу сказать, чтобы он собирал только соответствующие данные для конкретного SP?
Вы еще затянули план этого заявления? У него могут быть ответы на все вопросы. Возможно, что ваш 'in' в любом случае оптимизируется в« union », но вы будете знать только из фактического плана. Я никогда не использовал предопределенные профили и всегда настраивал свои собственные фильтры, используя учетные данные хоста/логина/пользователя, имя базы данных и/или имя приложения, если оно заполнено. Посмотрите, поможет ли это. И я не думаю, что ваш вопрос заслуживает ниспроверки! – ajeh
@ajeh Настройка фильтра по имени БД очищается, спасибо за предложение. К сожалению, это не помогает мне оценить SP. Время начала и окончания идентично. – Legion
Вы имеете в виду, что он выполняется менее чем за 1 миллисекунду? Это возможно. На этом этапе я запустил бы этот изолированный оператор, закодированный с использованием 'in' и' union', и сравните планы. Трассировка, вероятно, не подходит для вашего расследования. – ajeh