powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Какую из имеющихся статистик использует оптимизатор запросов?
5 сообщений из 5, страница 1 из 1
Какую из имеющихся статистик использует оптимизатор запросов?
    #40048342
Безенчук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Вопрос, скорее, теоретический, поэтому пример будет максимально упрощён.
Версия SQL - Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64).
Создаю таблицу:
Код: sql
1.
CREATE TABLE T1 (id int IDENTITY PRIMARY KEY, field1 int, field2 date);


Затем я заполняю её некоторым количеством строк со случайными данными.
Выполняю запрос:
Код: sql
1.
SELECT count(field1) from T1 WHERE field1 > 100;


Как и полагается при включённом на уровне базы данных параметре AUTO_CREATE_STATISTICS, по столбцу field1 автоматически создалась статистика: _WA_Sys_00000002_239E4DCF.
После этого я создаю индекс по field1:
Код: sql
1.
CREATE INDEX IDX_FIELD1 ON T1 (field1);


Вместе с индексом автоматически создалась ещё одна статистика - IDX_FIELD1.
Если я теперь выполню тот же запрос:
Код: sql
1.
SELECT count(field1) from T1 WHERE field1 > 100

какую статистику будет использовать оптимизатор запроса: по столбцу (_WA_Sys_00000002_239E4DCF) или по индексу (IDX_FIELD1)? При этом предположим, что обе статистики обновлены одновременно.
...
Рейтинг: 0 / 0
Какую из имеющихся статистик использует оптимизатор запросов?
    #40048346
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
Безенчук,

Возможно, что посмотрит в обе.

Если вопрос академический - поставьте SQL Server 2014 SP2+ (или что-то еще более позднее). Он в планах явно указывает, какие статистики учитывал при построении. Но учтите, что чтобы эти указания появились, может потребоваться поднять уровень совместимости до 120 - и вместе с этим поменяется модель оптимизатора запросов
...
Рейтинг: 0 / 0
Какую из имеющихся статистик использует оптимизатор запросов?
    #40048444
Безенчук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0wl
Он в планах явно указывает, какие статистики учитывал при построении.

Это показывается во всплывающих подсказках действительного плана выполнения?
...
Рейтинг: 0 / 0
Какую из имеющихся статистик использует оптимизатор запросов?
    #40048455
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
Безенчук,

Да это даже в предварительном (estimate) плане видно, не обязательно действительный получать.
Вся информация приведена в самом начале XML-плана. Наверняка где-то в свойствах тоже отображается, но в XML ее быстрее найти
...
Рейтинг: 0 / 0
Какую из имеющихся статистик использует оптимизатор запросов?
    #40048456
Безенчук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0wl, спасибо!
В XML я не догадался заглянуть.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Какую из имеющихся статистик использует оптимизатор запросов?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]