|
|
|
заменить left join на connect by
|
|||
|---|---|---|---|
|
#18+
добрый день, есть такой запрос Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. из плана видно что мы 2 раза фулсканим одну и ту же таблицу Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. можно ли запрос как то переписать например с помощью connect by получив такой же результат но с одним проходом по таблице ID PRNT_ID CODE PRNT_ID MAX(V.CODE) MAX(V.ID)2 B 2 C 34 D 3 2 C 1 A Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2016, 19:30 |
|
||
|
заменить left join на connect by
|
|||
|---|---|---|---|
|
#18+
mama.saidможно ли запрос как то переписать например с помощью connect by получив такой же результат но с одним проходом по таблицеЕсли тебе кажется, что в случае connect by выполняется один проход - то по факту может быть один full scan c запихиванием всего набора в память и потом полного его чтения на каждом уровне построения иерархии. Чудес не бывает. Фулл скан будет один, но проходов столько, сколько уровней. Если есть навязчивая цель один проход, то 9923928 Но это решение во-первых порождает сортировку, во-вторых могут быть дополнительные проблема с производительностью аналитики на нестандартных окнах, в-третьих сопровождающих такой код может совершенно не обрадовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2016, 19:53 |
|
||
|
заменить left join на connect by
|
|||
|---|---|---|---|
|
#18+
mama.said, Недостаточно описана магия данных. 1. max(v.code) и max(v.id) - значения могут принадлежать разным строкам, иначе незачем писать группировку. Это вызывает подозрения на некорректный результат. 2. Напрашивается вопрос об одноуровневости, где верхний всегда prnt_id = null. Тогда есть альтернативы. 3. Почему бы не использовать индекс на prnt_id. Второй заход по индексу бывает эффективнее сортировки всего набора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2016, 19:59 |
|
||
|
заменить left join на connect by
|
|||
|---|---|---|---|
|
#18+
Кури aналитические функциии. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2016, 20:21 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39338287&tid=1887113]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 494ms |

| 0 / 0 |
