|
|
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
в какой-то момент времени t оптимизатор стал странно себя вести и делать full scan таблицы вместо Index range scan. Все индексы присутствуют, Valid и Visible. Статистика по таблице пересобиралась, baseline создавались, у Oracle было два плана для запроса, оптимальный и не оптимальный с full scan. Пробовал как через bms_spm.load_plans_from_cursor_cache так и средствами OEM. Какие есть предположения, почему оптимизатор выбирает не оптимальный план? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 12:25:01 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
insonicum_danaв какой-то момент времени t оптимизатор стал странно себя вести и делать full scan таблицы вместо Index range scan. Все индексы присутствуют, Valid и Visible. Статистика по таблице пересобиралась, baseline создавались, у Oracle было два плана для запроса, оптимальный и не оптимальный с full scan. Пробовал как через bms_spm.load_plans_from_cursor_cache так и средствами OEM. Какие есть предположения, почему оптимизатор выбирает не оптимальный план?Что вам ответили в My Oracle Support ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 12:48:18 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
insonicum_danaделать full scan таблицы вместо Index range scanСтоимость у FULL SCAN меньше? optimizer_index_cost_adj и optimizer_index_caching не меняли? db_file_multiblock_read_count? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 12:56:47 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
Системную статистику не пересобирали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 12:59:51 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
TakuravaСистемную статистику не пересобирали? нет, не пересобирал. параметры БД не менял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 13:10:15 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
Takuravainsonicum_danaделать full scan таблицы вместо Index range scanСтоимость у FULL SCAN меньше? optimizer_index_cost_adj и optimizer_index_caching не меняли? db_file_multiblock_read_count? есть предположение, что причина в shared pool. возможно его не хватает или наоборот слишком много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 13:11:05 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
insonicum_dana, что со стоимостью? Может baseline неправильно прикрутили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 13:12:22 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
Takuravainsonicum_dana, что со стоимостью? Может baseline неправильно прикрутили? вот так делал Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 13:17:58 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
Takuravainsonicum_dana, что со стоимостью? Может baseline неправильно прикрутили? стоимость была меньше при использовании индекса. я подумал, может это баг, у меня 11.2.0.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 13:20:26 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
insonicum_dana, тут 1000 и 1 причина могут быть, начиная что у вас baseline не fixed, и заканчивая кучей багов. начните с v$sql_shared_cursor, может там будут какие подсказки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 14:48:22 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
insonicum_danaTakuravainsonicum_dana, что со стоимостью? Может baseline неправильно прикрутили? вот так делал Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. это то правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 15:16:45 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
insonicum_danaв какой-то момент времени t оптимизатор стал странно себя вести и делать full scan таблицы вместо Index range scan. Все индексы присутствуют, Valid и Visible. Статистика по таблице пересобиралась, baseline создавались, у Oracle было два плана для запроса, оптимальный и не оптимальный с full scan. Пробовал как через bms_spm.load_plans_from_cursor_cache так и средствами OEM. Какие есть предположения, почему оптимизатор выбирает не оптимальный план? Мне кажется ИМХО, что с точки зрения оптимизатора там все правильно, это гистограмная статистика распределения значений срабатывает по селективности. Вероятнее всего у вас в предикате появляется значение , которое имеет плохую селективность в таблице, для него выбиратеся плохой план. для значения с хорошей селективность - хороший план. Например если у вас в таблице на 100 жинщин 3 мужчины , при условии выборки мужчин оптимизатор будет использовать индекс , а для женщин фулскан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 15:36:15 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
insonicum_danainsonicum_danaпропущено... вот так делал это то правильно?Не могу сказать, я только через OEM такое делаю. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 15:39:42 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
д0kinsonicum_danaв какой-то момент времени t оптимизатор стал странно себя вести и делать full scan таблицы вместо Index range scan. Все индексы присутствуют, Valid и Visible. Статистика по таблице пересобиралась, baseline создавались, у Oracle было два плана для запроса, оптимальный и не оптимальный с full scan. Пробовал как через bms_spm.load_plans_from_cursor_cache так и средствами OEM. Какие есть предположения, почему оптимизатор выбирает не оптимальный план? Мне кажется ИМХО, что с точки зрения оптимизатора там все правильно, это гистограмная статистика распределения значений срабатывает по селективности. Вероятнее всего у вас в предикате появляется значение , которое имеет плохую селективность в таблице, для него выбиратеся плохой план. для значения с хорошей селективность - хороший план. Например если у вас в таблице на 100 жинщин 3 мужчины , при условии выборки мужчин оптимизатор будет использовать индекс , а для женщин фулскан. Код: plsql 1. на столбец column1 есть индекс, но таблица table1 читается целиком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 17:31:07 |
|
||
|
Не применяются Baseline. Оптимизатор не меняет план запроса
|
|||
|---|---|---|---|
|
#18+
insonicum_danaд0kпропущено... Мне кажется ИМХО, что с точки зрения оптимизатора там все правильно, это гистограмная статистика распределения значений срабатывает по селективности. Вероятнее всего у вас в предикате появляется значение , которое имеет плохую селективность в таблице, для него выбиратеся плохой план. для значения с хорошей селективность - хороший план. Например если у вас в таблице на 100 жинщин 3 мужчины , при условии выборки мужчин оптимизатор будет использовать индекс , а для женщин фулскан. Код: plsql 1. на столбец column1 есть индекс, но таблица table1 читается целиком left outer join при любых раскладах и в любой СУБД читает левую таблицу целяком и полностью.... ИМХО Единственное исключение может быть для случая ...... left outer join on table1.column1 = table2.column2 where table2.column2 is null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 18:30:40 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39257876&tid=1888064]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 201ms |
| total: | 364ms |

| 0 / 0 |
