|
|
|
order by inside view
|
|||
|---|---|---|---|
|
#18+
Всем привет! Вопрос насколько рукожопно опасно использовать сортировку внутри представления? Код: plsql 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. 30. 31. 32. 33. 34. 35. 36. Вычитвыться она будет следующим образом Код: plsql 1. Из поиска: тут говорят, что не рекомендуют, потому как запрос, котороый будет получать данные из view может иметь собственный order by. Но мой не будет :) тут отвечающий говорит, что оптимизитор может подумать, что эта сортировка не нужна авторIf it knows your query doesn't have an ORDER BY clause, it's free to ignore row order in order (cough) to return rows more quickly. и проигнорировать её Главный вопрос - что может произойти такого, что возвращаемый набор данных будет не в том порядке в котором оказано во view? Знаю что полагаться на порядок строк из таблицы нельзя без явной сортировки, но про представления не слышал. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2017, 11:49 |
|
||
|
order by inside view
|
|||
|---|---|---|---|
|
#18+
у оракла есть механизм order-by-elimination, поэтому он может спокойно выкидать сортировку из inline view. Смотри этот параметр и хинты: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2017, 12:29 |
|
||
|
order by inside view
|
|||
|---|---|---|---|
|
#18+
Kido, я сортировку в подзапросах(вью) использовал только для топ-н там опртимизатор обязан ее выполнить как тут не уверен, по идее можно заставить не игнорировать ордер бай указав rownum<xxx главный минус для л1 не протолкнется thread_number = :thread_number во внутрь вью .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2017, 13:04 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39541567&tid=1885044]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 529ms |

| 0 / 0 |
