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

Откуда:
Сообщений: 173
Всем привет.
Есть таблица table_1 (id bigint, value varchar(6))
С уникальным кластерным индексом по полю id.

Периодически с таблицей случается следующее:

Если выполнить такой запрос:
SELECT TOP 1 id,value from table_1 where id = 5000000000

Он выполняется мгновенно.

А такой запрос
SELECT TOP 1 id,value from table_1 where id > 5000000000

Висит очень долго и при попытке построить план он так же зависает.

При этом в остальное время эти два запроса выполняются одинаково. В момент выполнения никакие операции над таблицей не производятся. В процессах по запросу второму запросы ожидания LATCH_EX.

Как с этим бороться?
14 ноя 19, 13:31    [22016185]     Ответить | Цитировать Сообщить модератору
 Re: Разница в плане запроса  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
top 1 без сортировки = лажа
14 ноя 19, 13:33    [22016190]     Ответить | Цитировать Сообщить модератору
 Re: Разница в плане запроса  [new]
msLex
Member

Откуда:
Сообщений: 8072
assmsk
при попытке построить план он так же зависает.


видимо, обновляется статистика
решение - асинхронное обновление статистики
14 ноя 19, 13:34    [22016193]     Ответить | Цитировать Сообщить модератору
 Re: Разница в плане запроса  [new]
assmsk
Member

Откуда:
Сообщений: 173
Гавриленко Сергей Алексеевич, не правильно написал, есть сортировка по id asc
14 ноя 19, 13:37    [22016196]     Ответить | Цитировать Сообщить модератору
 Re: Разница в плане запроса  [new]
assmsk
Member

Откуда:
Сообщений: 173
msLex,
где то можно посмотреть что действительно статистика в данный момент обновляется?
14 ноя 19, 13:40    [22016203]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить