|
|
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#18+
вопрос уже несколько отдалённый от моей изначальной темы поэтому создаю отдельный топик: решил тут поиграться (на тестовой дб) с QUERY REWRITE + mv создал базовую вьюху: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. когда делаю запрос 1 в 1 один с базовым, всё летает (и, разумеется, expain plan показывает, что MV юзается!) Код: sql 1. 2. 3. 4. 5. 6. 7. но стоит добавить предикат, который всего-то должен только отфильтровывать что-то из базы - как MV уже не доступна (и это видно в explain plan !) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. даже хинт не помог: select /*+ REWRITE(mv_ViTstMV )*/ глупый Оракл не втыкает, что можно (очевидно же, что без проблем!) взять mv! Или это я глупый и что-то не знаю ещё? Заранее спасибо за любую полезную инфу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2017, 19:54 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#18+
DBAshnik, возможно, что как раз из-за cursor_sharing=force... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2017, 19:56 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#18+
xtender, запрос с хинтом cursor_sharing_exact не помог! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2017, 21:15 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#18+
DBAshnikглупый Оракл не втыкает, что можно (очевидно же, что без проблем!) взять mv! Или это я глупый и что-то не знаю ещё? Ну хоть засомневался - уже прогресс. И из какой шляпы oracle вытянет значения T1.EL3 выбирая из MV? SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2017, 22:15 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#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. 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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 00:12 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#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. 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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 03:53 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#18+
SYDBAshnikглупый Оракл не втыкает, что можно (очевидно же, что без проблем!) взять mv! Или это я глупый и что-то не знаю ещё? Ну хоть засомневался - уже прогресс. И из какой шляпы oracle вытянет значения T1.EL3 выбирая из MV? SY. спасибо! Теперь мне всё полностью понятно, вроде бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 16:31 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#18+
но что продолжает оставаться непонятным, так это вот что: cоздаю вью на базовых таблицах, БЕЗ distinct! В твоём примере было бы: Код: sql 1. 2. 3. 4. 5. 6. запускаю запрос без distinct: Код: sql 1. 2. 3. - mv юзается! Тоже самое с distinct!: Код: sql 1. - mv НЕ юзается! снова запускаю запрос без distinct - снова юзается mv! В чём фишка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 16:57 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#18+
DBAshnikВ чём фишка? Вер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. 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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 17:16 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#18+
версия: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production Хм.... Странно! :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 17:36 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#18+
ха! А вот если я пишу: авторselect /*+REWRITE*/ distinct ... то MV берётся таки! То есть хинт помогает!!! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 18:35 |
|
||
|
проблема с фичей QUERY REWRITE + mv
|
|||
|---|---|---|---|
|
#18+
DBAshnikто MV берётся таки! То есть хинт помогает!!! :-) Они сущеcтвуют!!! SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2017, 18:51 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39382679&tid=1886663]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 462ms |

| 0 / 0 |
