Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как по составному индексу подсказать правильную статистику / 8 сообщений из 8, страница 1 из 1
26.02.2019, 17:20
    #39779459
МуМу
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по составному индексу подсказать правильную статистику
Следующий вопрос. Предположим есть система в которой нельзя менять индексы. Также мы знаем что первое поле составного индекса всегда одно и то же значение(не селективное). Статистика по этому индексу в результате не работает. Может есть в последних версиях вариант как бы эту с ситуацию исправить? Доп индексы и статистики это понятно? Ну или как вариант вообще запретить оптимизатору эту статистику использовать(хотя наверное он и сам догадается).
...
Рейтинг: 0 / 0
26.02.2019, 17:23
    #39779464
МуМу
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по составному индексу подсказать правильную статистику
По моему есть хинт оптимизатору запрета индекса, а глобально есть возможность его запретить как заведомо бесполезный?
...
Рейтинг: 0 / 0
26.02.2019, 17:32
    #39779471
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по составному индексу подсказать правильную статистику
МуМуСтатистика по этому индексу в результате не работает.Расшифруйте.
МуМуа глобально есть возможность его запретить как заведомо бесполезный?alter index ... disable
...
Рейтинг: 0 / 0
26.02.2019, 17:37
    #39779474
МуМу
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по составному индексу подсказать правильную статистику
Насколько я помню статистика по составным индексам работает по первому полю. Я не прав? А вообщем то буду благодарен за ссылку про работу оптимизатора со статистиками при составных индексах.Нужно освежить знания.
...
Рейтинг: 0 / 0
26.02.2019, 17:42
    #39779478
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по составному индексу подсказать правильную статистику
МуМуНасколько я помню статистика по составным индексам работает по первому полю.Гистограмма по первому. Плотность - по всем.
...
Рейтинг: 0 / 0
26.02.2019, 17:54
    #39779484
AlanDenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по составному индексу подсказать правильную статистику
МуМуПо моему есть хинт оптимизатору запрета индекса, а глобально есть возможность его запретить как заведомо бесполезный?
Хинта нет. И в будующих версиях не планируют добавлять (уже спрашивал).
...
Рейтинг: 0 / 0
26.02.2019, 18:39
    #39779494
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по составному индексу подсказать правильную статистику
AlanDenton,

в теории можно попытаться сделать апдейт индексной статистики увеличив показатель количества страниц индекса, это даст увеличенную оценку использования подсистемы ввода вывода что может заставить оптимизатор выбирать для поиска другой индекс.

вот небольшое репро, но у этого подхода возможно есть подводные камни.


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
drop table if exists stat_test;
create table stat_test (a int, b int);

insert into stat_test (a, b)
select 1, ABS(CHECKSUM(NEWID()) % 6) + 1 from string_split(replicate(cast(';' as varchar(max)), 49999), ';')

insert into stat_test(a, b) values (2, 100)


create index ix on stat_test (a, b)
create index iy on stat_test (b, a)

set statistics xml, io, time on
go
select count_big(1) from stat_test where a = 1 option (recompile)
go
select count_big(1) from stat_test with(index=0) where a = 1 option (recompile)
go
set statistics xml, io, time off
go

update statistics stat_test(ix) with pagecount=10000000
go


set statistics xml, io, time on
go
select count_big(1) from stat_test where a = 1 option (recompile)
go
select count_big(1) from stat_test with(index=0) where a = 1 option (recompile)
go
set statistics xml, io, time off
go

drop table if exists stat_test
...
Рейтинг: 0 / 0
26.02.2019, 19:36
    #39779507
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как по составному индексу подсказать правильную статистику
МуМу,

укажите хинтом другой индекс. Или вопрос не в этом?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как по составному индексу подсказать правильную статистику / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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