powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Простой составной индекс
22 сообщений из 22, страница 1 из 1
Простой составной индекс
    #40000926
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Успорился с коллегой )))

есть составной индекс b, c (b селективность повыше) на a таблице
иных нет индексов

select a.d, a.f, a.h where a.b = t1 and a.c = t2
или
select a.d, a.f, a.h where a.b = t1

выбирающие одно и тоже кол-во строк , какой быстрее запрос будет ?
...
Рейтинг: 0 / 0
Простой составной индекс
    #40000929
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA,

Можете сравнить планы, количество логических чтений на этапе выполнения.
...
Рейтинг: 0 / 0
Простой составной индекс
    #40000932
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зависит
...
Рейтинг: 0 / 0
Простой составной индекс
    #40000933
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKad
VladimirMA,

Можете сравнить планы, количество логических чтений на этапе выполнения.


Собственно с этого началось у меня range scan на обоих, все похоже, но у меня короткая мелкая база.
...
Рейтинг: 0 / 0
Простой составной индекс
    #40000934
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в такой постановке незначительно быстрее будет 2й вариант, так как не будет лишних проверок. но вообще это разные запросы, и в ситуациях когда and a.c = t2 таки будет что-то отфильтровывать ситуация поменяется.
...
Рейтинг: 0 / 0
Простой составной индекс
    #40000936
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA
но у меня короткая мелкая база.
Дайте доступ, нагенерю вам данных.
...
Рейтинг: 0 / 0
Простой составной индекс
    #40000937
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA,

какой смысл сравнивать производительность логически неэквивалентных запросов?
...
Рейтинг: 0 / 0
Простой составной индекс
    #40000939
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkomyagkii_newbi
в такой постановке незначительно быстрее будет 2й вариант, так как не будет лишних проверок. но вообще это разные запросы, и в ситуациях когда and a.c = t2 таки будет что-то отфильтровывать ситуация поменяется.


Вроде да но на прод базе большой и толстой запрос включающий все поля быстрее
(не верить коллеге я не могу )))
...
Рейтинг: 0 / 0
Простой составной индекс
    #40000944
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кит северных морей
VladimirMA,

какой смысл сравнивать производительность логически неэквивалентных запросов?


Запросы возвращают одни и те же результаты (есть некая зависимость a от b)

Что нас остановит от сравнения ?
...
Рейтинг: 0 / 0
Простой составной индекс
    #40000977
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA
Melkomyagkii_newbi
в такой постановке незначительно быстрее будет 2й вариант, так как не будет лишних проверок. но вообще это разные запросы, и в ситуациях когда and a.c = t2 таки будет что-то отфильтровывать ситуация поменяется.


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


пусть трассировки соберет. может у него там из-за нагрузки или вымывания из кеша время выполнения скачет.
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001000
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA
д базе большой и толстой запрос включающий все поля быстрее
(не верить коллеге я не могу )))

Melkomyagkii_newbi
в такой постановке незначительно быстрее будет 2й вариант, так как не будет лишних проверок.

Легко формируется контрпример.
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001005
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladimirMA
зависимость a от b
вы хотели сказать b от с?
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001010
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
VladimirMA
д базе большой и толстой запрос включающий все поля быстрее
(не верить коллеге я не могу )))

Melkomyagkii_newbi
в такой постановке незначительно быстрее будет 2й вариант, так как не будет лишних проверок.

Легко формируется контрпример.


сформируйте, если не затруднит
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001015
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkomyagkii_newbi
andrey_anonymous
пропущено...

пропущено...

Легко формируется контрпример.


сформируйте, если не затруднит

атрибут с nullable, 98% записей с is null
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001029
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
Melkomyagkii_newbi
пропущено...


сформируйте, если не затруднит

атрибут с nullable, 98% записей с is null


какая разница если по индексу по конкретному значению вернулись одни и те же строки? Тут при рендж скане может быть только больше прочитанных блоков, если индекс шире(меньше строк в блок индекса влезло) + больше сравнений. Как может быть меньше - не понимаю.
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001044
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кит северных морей
VladimirMA
зависимость a от b
вы хотели сказать b от с?

Да конечно
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001045
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkomyagkii_newbi
andrey_anonymous
пропущено...

атрибут с nullable, 98% записей с is null


какая разница если по индексу по конкретному значению вернулись одни и те же строки? Тут при рендж скане может быть только больше прочитанных блоков, если индекс шире(меньше строк в блок индекса влезло) + больше сравнений. Как может быть меньше - не понимаю.


++
вот у меня такое же представление,
думал может что то забыл/не знал
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001047
VladimirMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkomyagkii_newbi
VladimirMA
пропущено...


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


пусть трассировки соберет. может у него там из-за нагрузки или вымывания из кеша время выполнения скачет.


Да уж
Похоже надо собирать как то доказательства аккуратно )))
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001050
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkomyagkii_newbi
andrey_anonymous
пропущено...

атрибут с nullable, 98% записей с is null

какая разница если по индексу по конкретному значению вернулись одни и те же строки?

Этого не было сказано. Сказано - то же количество.
Да и "остальные" могли быть отфильтрованы иными предикатами.
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001058
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

я так понимаю

для всех строк с a.b = t1 a.c обязательно всегда равно t2 (как условие гарантируется другой вопрос)


доступ по INDEX RANGE SCAN
и как-бы второй запрос кажется быстрее за счет меньшого числа сравнений

.....
stax
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001059
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
если эти запросы эквивалентны из-за строгой корреляции С от B и это никогда не поменяется и индекс будет использоваться только этот составной, то в принципе
VladimirMA
a.b = t1
будет незначительно быстрее за счет меньшей работы и по сравнениям и даже парсу значений из индекса, да и точность оптимизатора чуть выше (если, конечно, нет extended statistics)
...
Рейтинг: 0 / 0
Простой составной индекс
    #40001077
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
Melkomyagkii_newbi
пропущено...

какая разница если по индексу по конкретному значению вернулись одни и те же строки?

Этого не было сказано. Сказано - то же количество.
Да и "остальные" могли быть отфильтрованы иными предикатами.


не было, но надо полагать что t1 одинаков для сравнительных запусков. и тогда одинаковое количество означает, что and a.c = t2 ничего не отсеивает.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Простой составной индекс
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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