Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Время выполнения запросов  [new]
NoZnay
Guest
Очень большая разница во времени между выполнением одного и того же запроса:

В первом случае я использую переменные в предложении WHERE
Во втором подставляю в WHERE точные значения

Напимер:

1)WHERE [Price] BETWEEN @min AND @max
2)WHERE [Price] BETWEEN 2 AND 3

Планы запросов соответственно разные.

Может кто-то сталкивался с подобным?
3 окт 12, 13:57    [13261667]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запросов  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
NoZnay,

если это дело выполняется в процедуре ищите parameter sniffing
если нет то изучайте планы.
3 окт 12, 14:04    [13261748]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запросов  [new]
Валдай
Member

Откуда:
Сообщений: 113
NoZnay,

А типы поля Price и переменных @max и @min какие?
3 окт 12, 14:25    [13262005]     Ответить | Цитировать Сообщить модератору
 Re: Время выполнения запросов  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Если в процедуре (или динамическом запросе, который если на клиенте - в любом случае динамический для сервера и вполне может выполнятся чере sp_executesql даже)

первым делом попробуйте OPTION (OPTIMIZE FOR UNKNOWN); или переобъявить/переприсвоить переменные.
3 окт 12, 15:05    [13262341]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить