Size: a a a

2021 December 15

ЛД

Леонид Д in Oracle RU
Так вот вопросы:
1) почему при таком слабом отличие в плане с вариантом row_number такое большое отличие в скорости
источник

KL

Kirill Leontev in Oracle RU
научитесь формировать планы со статистикой выполнения.
https://oracle-base.com/articles/9i/dbms_xplan#gather_plan_statistics_hint
сразу будет видно, почему один запрос быстрее, а другой - медленнее.
источник

ЛД

Леонид Д in Oracle RU
Ок :) тогда вернусь после если останутся вопросы
источник

KL

Kirill Leontev in Oracle RU
ради интереса - в запросе с много дублей поменяйте order by rowid на order by null
источник

ЛД

Леонид Д in Oracle RU
Ну да, кстати, правильно...
источник

KL

Kirill Leontev in Oracle RU
побыстрее стал?
источник

ЛД

Леонид Д in Oracle RU
Ну конечно, минус сортировка же... Быстрее, чем через max(rowid). Т.е. получается в варианте с row_number можно избежать сортировки. В варианте с max(rowid) , вроде, не получается
источник

ЛД

Леонид Д in Oracle RU
План при этом не изменился.. Странно
источник

ЛД

Леонид Д in Oracle RU
А пардон, не, не тот вариант дёрнул. Все так же
источник

ЛД

Леонид Д in Oracle RU
Хотя, казалось бы, логично, что без сортировки должно работать быстрее
источник

KL

Kirill Leontev in Oracle RU
сколько дубликатов у каждой "корневой" записи?
источник

ЛД

Леонид Д in Oracle RU
источник

KL

Kirill Leontev in Oracle RU
я думаю заметили бы разницу если бы записей были сотни тысяч или миллионы.
источник

KL

Kirill Leontev in Oracle RU
отсортировать 6к строк много ума явно не надо )
источник

ЛД

Леонид Д in Oracle RU
Мм.. Ну могу сделать тестовую таблицу. Но сейчас через row_number осталось около 5.5 сек, через max(rowid) около 0.3
источник

KL

Kirill Leontev in Oracle RU
да не, не парьтесь.
источник

ЛД

Леонид Д in Oracle RU
Все же разница огромная даже в рамках мелкой таблицы
источник

KL

Kirill Leontev in Oracle RU
лучше смотрите планы
источник

ЛД

Леонид Д in Oracle RU
Да, спасибо :)
источник

x

xtender in Oracle RU
Почитайте про то как работают и в чем отличия hash join anti от nested loops. Все станет понятно
источник