powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перекрестные индексы. Как лучше?
13 сообщений из 63, страница 3 из 3
Перекрестные индексы. Как лучше?
    #39718252
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmSandalTreeНу и зачем оно 2 раза читает нижнюю страничку индекса?Нижнюю? Уверены? :)
А зачем - это вам объяснять. Это же ваша теория "О влиянии неучтенных значений в статистике на количество чтений во время выполнения запроса при идентичных планах выполнения".
SandalTreeВот нашёл более приближённый пример того что индекс с большей селективностью лучше работаетЛед тронулся.
Не хотите переформулировать ваше "общее правило"?Возможно не так сказал. Не самую нижнюю, а нижнюю "индексную", на которой скуль "не находит" нужного значения.

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

Давайте поставим обратный вопрос: Имеет-ли постановка более селективного поля первым какой-либо негативный эффект?
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39718253
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex,

Спасибо. Это аргумент. Буду думать на более подходящим примером.
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39718258
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeВозможно не так сказал. Не самую нижнюю, а нижнюю "индексную", на которой скуль "не находит" нужного значения.А что такое "нижняя индексная"? И "самая нижняя"?
Т.е. на одной и той же странице, первый раз плохо искал и не нашел и для надежности решил поискать еще раз?
Даже если покурить что-нибудь и представить, что это так и есть, то причем тут "неучтенные значения" в статистике?
SandalTreeЕсли делаешь индекс по более чем одному полю и не знаешь как эти поля используются в базе, то самый простой путь это отсортировать по селективностиЕсли не известно как эти поля используются в базе, то делать по ним индекс, мягко говоря, странно.
SandalTreeИмеет-ли постановка более селективного поля первым какой-либо негативный эффект?Т.е. до вас, после двух с лишним страниц обсуждений и примеров, так и не дошло как работает поиск в индексе для предикатов разных типов. Прискорбно.
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39718262
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeЕсли делаешь индекс по более чем одному полю и не знаешь как эти поля используются в базе, то самый простой путь это отсортировать по селективности
а чего не в алфавитном порядке?
я вот вообще считаю, если есть поля, начинающиеся с Х,
то их и надо первыми "постановить".
а то еще про селективность надо выяснять, какое селективнее,
а с алфавитом все ясно, а главное,
можно смело переформулировать вопрос след. образом:
Имеет ли постановка поля, начинающегося на буквы Х, первым какой-либо негативный эффект?
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39718441
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeMind,

Вот нашёл более приближённый пример того что индекс с большей селективностью лучше работаетТо есть вы вообще не понимаете как индексы работают? И то что в вашем запросе для поиска по индексу может использоваться только первое поле? То есть по сути мы сравниваем индекс по id с индексом по i. И тут не надо быть семи пядей во лбу чтобы сказать что индекс по более селективному полю лучше чем по менее селективному. А что там стоит вторым полем вообще особого значения не имеет, с таким же успехом его можно запихать в INCLUDE разницы не будет, все равно сканируется весь диапазон по первому полю.
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39718442
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLexВаше различие в чтениях вызвано не селективностью индекса, а количеством записей, попадающим в диапазон between по одному и по второму полюЭто и называется селективность. А пример просто в корне не верен, ибо поиск по диапазону по двум полям не может эффективно использовать оба поля из индекса.
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39718444
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123SandalTreeЕсли делаешь индекс по более чем одному полю и не знаешь как эти поля используются в базе, то самый простой путь это отсортировать по селективности
а чего не в алфавитном порядке?Да можно еще проще, как это делает missing index подсказыватель, тупо ставить в том же порядке в котором они в таблице идут.
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39718449
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123SandalTreeЕсли делаешь индекс по более чем одному полю и не знаешь как эти поля используются в базе, то самый простой путь это отсортировать по селективности
а чего не в алфавитном порядке?
Может быть просто потому что по теории вероятности селективная колонка будет работать лучше.
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39718499
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeYasha123пропущено...

а чего не в алфавитном порядке?
Может быть просто потому что по теории вероятности селективная колонка будет работать лучше.Давайте все индексы начинать с ПК таблицы:
Код: sql
1.
2.
CREATE INDEX ix_customer_lastname ON dbo.customer(CustomerId, LastName)
CREATE INDEX ix_customer_city ON dbo.customer(CustomerId, CityId)

Лепота! На первом месте всегда самое селективное поле и главное думать не надо.
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39718502
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MindSandalTreeпропущено...

Может быть просто потому что по теории вероятности селективная колонка будет работать лучше.Давайте все индексы начинать с ПК таблицы:
Код: sql
1.
2.
CREATE INDEX ix_customer_lastname ON dbo.customer(CustomerId, LastName)
CREATE INDEX ix_customer_city ON dbo.customer(CustomerId, CityId)

Лепота! На первом месте всегда самое селективное поле и главное думать не надо.

Это ведь сарказм, да?
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39718556
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MindmsLexВаше различие в чтениях вызвано не селективностью индекса, а количеством записей, попадающим в диапазон between по одному и по второму полюЭто и называется селективность.

Нет

Селективность индекса – это показатель того, сколько строк от общего числа приходится на одно ключевое значение индекса.

И к max-min значению не имеет никакого отношения
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39719080
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SIMPLicity_Mindпропущено...
Давайте все индексы начинать с ПК таблицы:
Код: sql
1.
2.
CREATE INDEX ix_customer_lastname ON dbo.customer(CustomerId, LastName)
CREATE INDEX ix_customer_city ON dbo.customer(CustomerId, CityId)

Лепота! На первом месте всегда самое селективное поле и главное думать не надо.

Это ведь сарказм, да?
...
Рейтинг: 0 / 0
Перекрестные индексы. Как лучше?
    #39719095
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SIMPLicity_Mindпропущено...
Давайте все индексы начинать с ПК таблицы:
Код: sql
1.
2.
CREATE INDEX ix_customer_lastname ON dbo.customer(CustomerId, LastName)
CREATE INDEX ix_customer_city ON dbo.customer(CustomerId, CityId)

Лепота! На первом месте всегда самое селективное поле и главное думать не надо.

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


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