Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
TJ001 Member Откуда: от верблюда Сообщений: 428 |
В sql2000 есть таблица t1 (несколько десятков млн строк) с кластерным индексом по числовому полю, плотность которого достаточно высока. Когда делаешь выборку по существующему значению, то ответ приходит быстро, возвращается порядка 50тыс строк (на каждое значение в этом поле приходится примерно одинаковое число строк), план показывает, что выборка была по индексу. Если сделать запрос по несуществующему значению, то задумывается на несколько минут, ничего не возвращает (естественно) и в плане сообщает что был скан. Обновление статистики не дает результатов. Почему так происходит и как победить? |
11 авг 16, 15:35 [19529928] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
Сферические выборки в вакууме необходимо делать только шарообразными запросами. В остальных случаях тормозить будет. |
11 авг 16, 15:37 [19529939] Ответить | Цитировать Сообщить модератору |
TJ001 Member Откуда: от верблюда Сообщений: 428 |
Гавриленко Сергей Алексеевич, Содержательно, спасибо |
11 авг 16, 15:38 [19529947] Ответить | Цитировать Сообщить модератору |
SomewhereSomehow Member Откуда: Moscow Сообщений: 2480 Блог |
TJ001, Добрый день. Описание действий сервера своими словами не конструктивно. Лучше выкладывайте актуальные планы (один для известного, второй для неизвестного). Хотя у вас 2000 сервер, план видимо будет доступен только в текстовом виде, что уменьшает вероятность того, что кто-то будет в нем разбираться. Мне, например, глаза ломать не хочется, разве что план будет достаточно простой =) По вашему вопросу, сразу закрадывается мысль, нет ли у вас там какого-нибудь TOP или запрос в if exists(...)? А может быть у вас запрос делается с параметром и сервер прослушивает его для каждого нового значения? На все эти вопросы отвечают планы запроса. Без них можно только гадать и давать вам такие же абстрактные советы, каким является ваш абстрактный вопрос. |
11 авг 16, 15:50 [19530024] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
|
||
11 авг 16, 15:53 [19530048] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
если там одна таблица и то скан, то поиск, то картинкой вполне сойдет. просто мышь навести на интересующий оператор и в таком виде заснять. К сообщению приложен файл. Размер - 31Kb |
||
11 авг 16, 16:15 [19530185] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8353 |
TJ001, поле преобразовать в not null - первое, что приходит в голову. |
11 авг 16, 16:23 [19530237] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |