powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / когда не работает индекс?
7 сообщений из 7, страница 1 из 1
когда не работает индекс?
    #39778262
Michail A.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Исследую вопрос - когда не работает индекс?

Набросал несколько пунктов:

1) искомые данные включены в индекс
2) плотность записей приближается к 1 (низкая селективность запроса)
3) Статистика содержит устаревшие данные.

Подскажите, пож-та, какие могут быть ещё варианты?
...
Рейтинг: 0 / 0
когда не работает индекс?
    #39778266
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michail A.Подскажите, пож-та, какие могут быть ещё варианты?4) Запрещено использовать хинтом.
5) Скан дешевле, чем использовапние индкса (например, данных не больше, чем на страницу)
6) из за использования инедкса другие части запроса становятся слишком дорогими (например, приходится использовать лукапы)
...
Рейтинг: 0 / 0
когда не работает индекс?
    #39778352
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michail A.Подскажите, пож-та, какие могут быть ещё варианты?Блажь оптимизатора. Ему "показалось", что индекс тут бесполезен.
...
Рейтинг: 0 / 0
когда не работает индекс?
    #39778408
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michail A.,

в пункте 1 у вас НЕ пропущено?
...
Рейтинг: 0 / 0
когда не работает индекс?
    #39778417
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michail A.,

дано: индекс по A, B, C

вариант 1:
запрос по D (не в индексе) - индекс не работает

вариант 2:
запрос по B (в индексе)
как думаете, индекс работает?


а если два индекса: по A, B и по B, C?
...
Рейтинг: 0 / 0
когда не работает индекс?
    #39778420
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michail A.Исследую вопрос - когда не работает индекс?

Набросал несколько пунктов:

1) искомые данные включены в индекс
2) плотность записей приближается к 1 (низкая селективность запроса)
3) Статистика содержит устаревшие данные.Индекс не работает, когда оптимизатор считает его использование невыгодным.

Перечисленные критерии, кроме первого (с учетом поправки skyANA ), не являются препяствием для использования индекса.
...
Рейтинг: 0 / 0
когда не работает индекс?
    #39780161
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmMichail A.Исследую вопрос - когда не работает индекс?

Набросал несколько пунктов:

1) искомые данные включены в индекс
2) плотность записей приближается к 1 (низкая селективность запроса)
3) Статистика содержит устаревшие данные.Индекс не работает, когда оптимизатор считает его использование невыгодным.

Перечисленные критерии, кроме первого (с учетом поправки skyANA ), не являются препяствием для использования индекса.Да разве? Первое тоже не является препяствием для использования.
Код: sql
1.
2.
3.
CREATE TABLE A(C1 INT IDENTITY(1,1) PRIMARY KEY, C2 int, C3 INT)
CREATE INDEX ix1 ON A(C2)
SELECT C1 FROM A WITH(INDEX(ix1)) WHERE C3 = 1



Все эти пункты имеют смысл только для человека, на самом деле их все можно свести к одному (кроме экзотических случаев), которое собственно и использует сервер:
Из всех планов которые были найдены в рамках отведенных ресурсов и с учетом текущих статистик, план без использования определенного индекса оказался дешевле чем любой другой план с этим индексом.

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


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