|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
Всем привет! У меня есть 3 окружения и один проблематичный запрос, который на 2-х окружениях отрабатывает за секунды и юзает index unique scan по первичным ключам (4 табы и по каждой идет доступ по PK), а на третьем окружении запрос висит и висит и смотря на execution plan он не юзает индексы а идет table access storage full. Обьемы данных примерно одинаковые на всех трех окружениях, статистика собрана, clustering_factor примерно одинаковый по используемым индексам, хотя он и очень большой и равен кол-ву строк в табах, но все равно даже с таким фактором быстро работает на остальных окружениях. Два окружения Оракл 12, одно -10. Проблемы на одном из Оракл 12. В какую сторону смотреть ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 11:49 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarova, какая статистика (объектная, гистограммы, системная) и как именно собрана? конфигурация и настройки стендов примерно околоодинаковые? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:06 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
Щукина Анна, как собрана статистика не знаю, этим ДБА заведуют, я вижу last_analyzed . гистограммы есть по всем табам из запроса. про настройки не знаю, думаю что собака зарыта там, но что конкретно надо смотреть? Написала про эту проблему ДБА - они ответили что зарепортили SR в Oracle, незнаю как уж они разбирались и что такого нашли что сами починить не могут. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:18 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarova, в сторону трассы 10053 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:19 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
xtender, а без него как? мне его будет трудно получить - ни разу не могла дождаться окончания выполнения запроса, и доступа на сервер нет, прав включить трассировку нет:-) идти к ДБА уже стремно , думала может есть такие прям классические причины когда уникальный индекс перестает браться оптимизатором? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:37 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarovaЩукина Анна, Написала про эту проблему ДБА - они ответили что зарепортили SR в Oracle,. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:38 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarovaидти к ДБА уже стремно , думала может есть такие прям классические причины если причины классические, то без DBA всё одно мало чего сможете сделать. К тексту запроса доступ имеете? Вносить в него изменения можете? Получить параметры настроек оптимизатора для сессии на нормальных и на приболевшем инстансах - сможете? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:46 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
Щукина Анна, может, там память или процы другие ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:58 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarovaмне его будет трудно получить - ни разу не могла дождаться окончания выполнения запросаПлан строится при парсе. Выполнять запрос не обязательно. EvgeniaMakarovaдоступа на сервер нетесли есть права на directory, то получить файл можно sqlем. EvgeniaMakarovaправ включить трассировку нетalter session отобрали? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:10 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
-2-EvgeniaMakarovaправ включить трассировку нетalter session отобрали?RTFM Prerequisites To enable and disable the SQL trace facility, you must have ALTER SESSION system privilege. To enable or disable resumable space allocation, you must have the RESUMABLE system privilege. You do not need any privileges to perform the other operations of this statement unless otherwise indicated. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:17 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
Щукина Анна, имею запрос, имею данные из v$parameter. какие конкретно параметры надо сравнить ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 14:18 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
-2-, подскажите пожалуйста как запросом получить данные из трассировочного файла 10053 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 14:21 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
Щукина Анна, Эти параметры одинаковые на двух сравниваемых 12-шках : optimizer_mode optimizer_index_cost_adj optimizer_index_caching optimizer_dynamic_sampling db_file_multiblock_read_count hash_area_size sort_area_size ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 14:29 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarovaЩукина Анна, Эти параметры одинаковые на двух сравниваемых 12-шках : optimizer_mode optimizer_index_cost_adj optimizer_index_caching optimizer_dynamic_sampling db_file_multiblock_read_count hash_area_size sort_area_sizeдавайте уже сам запрос А вдруг там десяток фулл аутеров по лайкам ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 14:38 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
andreymx, запрос выглядит так (таблицы и столбцы переименованы.все остальное оригинальное, в том числе хинт :-)): *Если что, то запрос писала не я, и каким бы он страшным и ужасным ни был, он работает быстро на других окружениях и юзает уникальные индексы:-) Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 14:51 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarovaподскажите пожалуйста как запросом получить данные из трассировочного файла 10053bfilename или external table ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 14:58 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarova, если вы не разбираетесь в этом и не отвечаете за сбор статистики, то вам и не надо этим заниматься. Просто скажите админам сравнить 10053 на обоих базах. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 15:05 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 15:20 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
Dshedoo, это запрос уже юзает уникальные индексы и кост упал радикально. Раскройте тайну, как Вы рассуждали и почему все же индексы не юзаются в исходной версии ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 16:09 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
кост упал а запрос так и висит( слушайте, один из PK индексов (то есть уникальный) показывает в плане Кардинальность 19760 , вместо 1. почему такое может быть ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 16:23 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarovaДва окружения Оракл 12, одно -10. Проблемы на одном из Оракл 12. Обe 12C на одинаковых patchset/patch? Если нет возможности/умения анализировать 10053, провeрить adaptive. С ним зачастую чудеса в решете. Смотри explain plan на обеих 12c на предмет "this is adaptive plan", "statistics feedback used for this statement" ну и dynamic sampling. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 16:31 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
SY, да, на проблематичном сервере план пишет что он адаптив ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 16:33 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarovaда, на проблематичном сервере план пишет что он адаптив Т.e. две 12C это apples & oranges. В SQL*Plus на обеих 12C выдай SHOW PARAMETER ADAPTIVE и сравни. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 16:40 |
|
На одном из окружений оптимизатор не берет уникальные индексы для доступа к данным
|
|||
---|---|---|---|
#18+
EvgeniaMakarova, Я бы начал так: Код: 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.
1. переправил все алиасы на уникальные 2. прописал minus 3. decode -> nvl 4. таблица t1 c, нужна для not exists только ... но первое - обязательно, у Вас 3 алиаса с именем "a" что может запутать Oracle (да и Вас) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 16:45 |
|
|
start [/forum/topic.php?fid=52&msg=39766420&tid=1882858]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 325ms |
total: | 467ms |
0 / 0 |