|
|
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
Доброго дня господа ! Подскажите как за -PUSH_PRED-иться c группировкой (и возможно ли это вообще) Запрос Код: 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. Делаю группировку Запрос Код: 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. Возможно ли так использовать передачу параметров во внутрь предсталения Заранее благодарен ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:18 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
HOME_X, Да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 17:22 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, А где собака порылась ? Почему при группировке отрабатывает FULL ACCESS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 21:23 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
HOME_X, 21297292 Читаем вдумчиво, каждое предложение. Если понимание не приходит, сделай трассу 10053 и глянь в ней "Final query after transformations". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 21:56 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
HOME_X Код: plsql 1. Говнограбли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 07:26 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, Код: plsql 1. 2. 3. 4. 5. 6. 7. Здесь идет речь о трансформации кода и ПЕРЕМЕШИВАНИИ с внешними запросами у меня код в который передаеться внешние параметры без изменений в двух вариантах (см. ниже) Код: plsql 1. 2. 3. 4. 5. Изменение и слияние условий пытался удержать и стабилизировать hint-om No_Merge По сути получаеться При подключении RCC_LISA=(INLINE VIEW c Materialize !!!!????) VIEW PUSHED PREDICATE не просматриваеться - план 1 При подключении RCC_LISB=(физическая таблица в базе ) VIEW PUSHED PREDICATE просматриваеться - план 2 Hinta-ми заставить не получаеться, т.е. все пропало ШЕФ, все пропало!!!! (вариантов решения нет ?) Обратите внимание на тип связи (ПОЯСНИТЕ пожалуйста) 1 план HASH JOIN OUTER 2 план NESTED LOOPS OUTER Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. Спасибо за уделенное время ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 15:48 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
Читал по диагонали и вникать особого интереса нет. Возможно поможет пару наводящих мыслей. HOME_XHinta-ми заставить не получаеться, т.е. все пропало ШЕФ, все пропало!!!! (вариантов решения нет ?) Если я правильно понял, план запроса перестает устраивать при добавлении группировки в одну из inline view. Больше никаких изменений не делается. Фундаментальных причин почему push pred должен перестать работать я не вижу. В таком случае, можно поробовать взять из хорошего плана аутлайн Код: plsql 1. и влепить его на самый верхний уровень запроса с группировкой выбросив все свои хинты. Если предикат стал пушится - то можно теперь попробовать упростить аутлайн до читабельного вида. Если не вышло... ну тогда тебе таки придется откидывать лишнее из запроса чтоб понять причину. HOME_X Обратите внимание на тип связи (ПОЯСНИТЕ пожалуйста) 1 план HASH JOIN OUTER 2 план NESTED LOOPS OUTERПредикат может пушится только если тип связи - NL. Если HASH, то данные до группировки могут быть отфильтрованы [по условию соединения/корреляции] только если задействуется bloom filter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 17:23 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
HOME_X, если чесно то я не могу понять, как Вы предлагаете " использовать передачу параметров во внутрь предсталения" сначала соеденить, а потом group by CTX_AC? імхо, так ж нельзя, можно получіть другой результат .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 17:36 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopЕсли я правильно понял, план запроса перестает устраивать при добавлении группировки в одну из inline view. Больше никаких изменений не делается. Совершенно верно. dbms_photoshopВ таком случае, можно поробовать взять из хорошего плана аутлайн Код: plsql 1. и влепить его на самый верхний уровень запроса с группировкой выбросив все свои хинты. Принято - буду пробывать. dbms_photoshopПредикат может пушится только если тип связи - NL. Вот это кажеться истинная причина , так как в inline view RCC_LISA есть группировка и весь набор данных в кеше, вероятно HASH связь в этом случае более оптимальная Хотя я умышленно материализовал view RCC_LISA as (select /*+ Materialize */ Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 17:43 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
Stax, Результат получиться идентичный надо будет верно сагрегировать поля. Я ХОТЕЛ !!!!!???? предположить что, передача параметров кєша в представление, более єффективная чем множественная связь и агрегирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2018, 17:48 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
HOME_XStax, Результат получиться идентичный надо будет верно сагрегировать поля. Я ХОТЕЛ !!!!!???? предположить что, передача параметров кєша в представление, более єффективная чем множественная связь и агрегирования. Код: 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. 37. 38. A.CEEIB_S_UA_DEAL не уникально, как Вы предлагаете сгруппировать (протолкнуть B.CTX_AC=A.CEEIB_S_UA_DEAL)? получится аля латерал, чего 11-ка почти не умеет ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2018, 10:13 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
Stax, Если посмотреть план для твоего запроса - там как раз и будет VIEW PUSHED PREDICATE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2018, 14:06 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, каким то образом оракля понимает что ето "константы" (201, 200, 200) Predicate Information (identified by operation id): --------------------------------------------------- 12 - filter(201="A"."CEEIB_S_UA_DEAL") 14 - filter(200="A"."CEEIB_S_UA_DEAL") 16 - filter(200="A"."CEEIB_S_UA_DEAL") если поменять на табличку, то и для NL не пушится почему-то Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2018, 17:34 |
|
||
|
PUSH_PRED и группировка
|
|||
|---|---|---|---|
|
#18+
Stax, В 12 пушится как надо, в 11 нет. Но недоступность латералов для программистов не должна этому препятствовать имхо. 11 часто для соединений создает латералы под капотом, но в этом случае не допилили. Кстати, без группировки тоже не пушится для твоего примера. Что не есть случай автора. Может поведение меняется для различных версий 11. Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2018, 18:51 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=119&tid=1884199]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 334ms |

| 0 / 0 |
