Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
21.09.2020, 14:46
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
Успорился с коллегой ))) есть составной индекс 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 выбирающие одно и тоже кол-во строк , какой быстрее запрос будет ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 14:48
|
|||
---|---|---|---|
Простой составной индекс |
|||
#18+
VladimirMA, Можете сравнить планы, количество логических чтений на этапе выполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 14:52
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
зависит ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 14:53
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
AmKad VladimirMA, Можете сравнить планы, количество логических чтений на этапе выполнения. Собственно с этого началось у меня range scan на обоих, все похоже, но у меня короткая мелкая база. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 14:55
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
в такой постановке незначительно быстрее будет 2й вариант, так как не будет лишних проверок. но вообще это разные запросы, и в ситуациях когда and a.c = t2 таки будет что-то отфильтровывать ситуация поменяется. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 14:56
|
|||
---|---|---|---|
Простой составной индекс |
|||
#18+
VladimirMA но у меня короткая мелкая база. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 14:57
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
VladimirMA, какой смысл сравнивать производительность логически неэквивалентных запросов? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 14:58
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
Melkomyagkii_newbi в такой постановке незначительно быстрее будет 2й вариант, так как не будет лишних проверок. но вообще это разные запросы, и в ситуациях когда and a.c = t2 таки будет что-то отфильтровывать ситуация поменяется. Вроде да но на прод базе большой и толстой запрос включающий все поля быстрее (не верить коллеге я не могу ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 15:01
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
кит северных морей VladimirMA, какой смысл сравнивать производительность логически неэквивалентных запросов? Запросы возвращают одни и те же результаты (есть некая зависимость a от b) Что нас остановит от сравнения ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 15:28
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
VladimirMA Melkomyagkii_newbi в такой постановке незначительно быстрее будет 2й вариант, так как не будет лишних проверок. но вообще это разные запросы, и в ситуациях когда and a.c = t2 таки будет что-то отфильтровывать ситуация поменяется. Вроде да но на прод базе большой и толстой запрос включающий все поля быстрее (не верить коллеге я не могу ))) пусть трассировки соберет. может у него там из-за нагрузки или вымывания из кеша время выполнения скачет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 15:55
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
VladimirMA д базе большой и толстой запрос включающий все поля быстрее (не верить коллеге я не могу ))) Melkomyagkii_newbi в такой постановке незначительно быстрее будет 2й вариант, так как не будет лишних проверок. Легко формируется контрпример. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 15:57
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
VladimirMA зависимость a от b ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 16:02
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
andrey_anonymous VladimirMA д базе большой и толстой запрос включающий все поля быстрее (не верить коллеге я не могу ))) Melkomyagkii_newbi в такой постановке незначительно быстрее будет 2й вариант, так как не будет лишних проверок. Легко формируется контрпример. сформируйте, если не затруднит ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 16:04
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
Melkomyagkii_newbi andrey_anonymous пропущено... пропущено... Легко формируется контрпример. сформируйте, если не затруднит атрибут с nullable, 98% записей с is null ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 16:20
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
andrey_anonymous Melkomyagkii_newbi пропущено... сформируйте, если не затруднит атрибут с nullable, 98% записей с is null какая разница если по индексу по конкретному значению вернулись одни и те же строки? Тут при рендж скане может быть только больше прочитанных блоков, если индекс шире(меньше строк в блок индекса влезло) + больше сравнений. Как может быть меньше - не понимаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 16:36
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
кит северных морей VladimirMA зависимость a от b Да конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 16:38
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
Melkomyagkii_newbi andrey_anonymous пропущено... атрибут с nullable, 98% записей с is null какая разница если по индексу по конкретному значению вернулись одни и те же строки? Тут при рендж скане может быть только больше прочитанных блоков, если индекс шире(меньше строк в блок индекса влезло) + больше сравнений. Как может быть меньше - не понимаю. ++ вот у меня такое же представление, думал может что то забыл/не знал ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 16:42
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
Melkomyagkii_newbi VladimirMA пропущено... Вроде да но на прод базе большой и толстой запрос включающий все поля быстрее (не верить коллеге я не могу ))) пусть трассировки соберет. может у него там из-за нагрузки или вымывания из кеша время выполнения скачет. Да уж Похоже надо собирать как то доказательства аккуратно ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 16:53
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
Melkomyagkii_newbi andrey_anonymous пропущено... атрибут с nullable, 98% записей с is null какая разница если по индексу по конкретному значению вернулись одни и те же строки? Этого не было сказано. Сказано - то же количество. Да и "остальные" могли быть отфильтрованы иными предикатами. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 17:24
|
|||
---|---|---|---|
Простой составной индекс |
|||
#18+
andrey_anonymous, я так понимаю для всех строк с a.b = t1 a.c обязательно всегда равно t2 (как условие гарантируется другой вопрос) доступ по INDEX RANGE SCAN и как-бы второй запрос кажется быстрее за счет меньшого числа сравнений ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 17:34
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
если эти запросы эквивалентны из-за строгой корреляции С от B и это никогда не поменяется и индекс будет использоваться только этот составной, то в принципе VladimirMA a.b = t1 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.09.2020, 18:30
|
|||
---|---|---|---|
|
|||
Простой составной индекс |
|||
#18+
andrey_anonymous Melkomyagkii_newbi пропущено... какая разница если по индексу по конкретному значению вернулись одни и те же строки? Этого не было сказано. Сказано - то же количество. Да и "остальные" могли быть отфильтрованы иными предикатами. не было, но надо полагать что t1 одинаков для сравнительных запусков. и тогда одинаковое количество означает, что and a.c = t2 ничего не отсеивает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=52&mobile=1&tid=1880876]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 141ms |
0 / 0 |