|
|
|
иерархический запрос и подзапрос
|
|||
|---|---|---|---|
|
#18+
Есть иерархический запрос, использующий подзапрос, возвращающий всего две записи. Однако при построении дерева все равно используется FULL SCAN для таблицы INTERMEDIATESORTOBJECTS. Как заставить CONNECT BY использовать результаты подзапроса? P.S. Индексы на поля ID и IDPARENTOBJECT существуют. Использование хинтов PUSH_SUBQ и NO_PUSH_SUBQ результата не дает SELECT A.ID, A.IDPARENTOBJECT FROM INTERMEDIATESORTOBJECTS A WHERE A.ID IN (SELECT T.ID FROM OBJECTS T WHERE T.ID=17309208 OR T.ID = 17309321) CONNECT BY PRIOR A.ID = A.IDPARENTOBJECT START WITH A.IDPARENTOBJECT IS NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 18:44:27 |
|
||
|
иерархический запрос и подзапрос
|
|||
|---|---|---|---|
|
#18+
It is not clear which portion of your query causes FULL SCAN. It could be either START WITH or CONNECT BY. Below is an example which might help: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. As you can see, FULL SCAN is used for both START WITH and CONNECT BY. Since START WITH is based on column JOB, we need to index it: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Now START WITH is using index but CONNECT BY is still using FULL SCAN. Since CONNECT BY is based on column MGR, we need to index it: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. As you can see, both START WITH and CONNECT BY are using INDEX SCAN now. SY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 20:21:24 |
|
||
|
иерархический запрос и подзапрос
|
|||
|---|---|---|---|
|
#18+
Обрати внимание на A.IDPARENTOBJECT IS NULL с таким условием индексы не используются попробуй хины use_index (table index) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2003, 09:54:33 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32191927&tid=1989802]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
226ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 545ms |

| 0 / 0 |
