|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
База на Oracle 10g. Имеются две одинаковые по структуре таблицы (индексы на поля тоже одинаковые). Эти таблицы через union all соединены во View. Была создана третья таблица с такой же структурой и индексами и добавлена её во view. После этого select по view у пользователя-создателя с правами администратора выполняется быстро. У всех остальных пользователей - медленно. Анализ плана показал, что в первом случае индексы применяются в поиске, во втором случае - идет full scan table. Почему так? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:27 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
У пользователей в их схемах объекты с идентичными названиями, поэтому запросы выглядят одинаково, а используют разные таблицы/индексы/представления. Например. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:31 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
ЗурбаганАнализ плана показал, что в первом случае индексы применяются в поиске, во втором случае - идет full scan table. Почему так? Планы выполнения может зависеть от окружения оптимизатора, смотреть и сравнивать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:34 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
jan2aryУ пользователей в их схемах объекты с идентичными названиями Вот прям так взяли и разыменовались объекты, на которых базируется view, в локальные объекты других схем... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:35 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
andrey_anonymousjan2aryУ пользователей в их схемах объекты с идентичными названиями Вот прям так взяли и разыменовались объекты, на которых базируется view, в локальные объекты других схем...Да, надо читать внимательнее. Хотя еще есть шанс, что у них и вью тоже у каждого свое. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:38 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
Не... обращение идет к одним и тем же таблицам. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:40 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
ЗурбаганНе... обращение идет к одним и тем же таблицам. Снимаете 10053 в обоих случаях и сравнительно изучаете. Муторно, но надежно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:42 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
Зурбаган, А клиент при соединении одинаковый используется? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:44 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
ЗурбаганНе... обращение идет к одним и тем же таблицам. Это утверждение подкреплено проверкой? select * from dba_objects where object_name = 'TABLE_NAME'; ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:45 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
witte, Да, клиент одинаковый. Единственное - доступ пользователям дается через роли. Grant select только на view, на таблицы во вью - нет. Но это не должно влиять. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 15:46 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
v$sys_optimizer_env v$sess_optimizer_env ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 16:08 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
andrey_anonymousЗурбаганНе... обращение идет к одним и тем же таблицам. Снимаете 10053 в обоих случаях и сравнительно изучаете. Муторно, но надежно :)+++ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 16:11 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
xtender, как я в трассировке узнаю почему не применяются индексы? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 16:21 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
Зурбаганxtender, как я в трассировке узнаю почему не применяются индексы? ууу... Похоже, что в Вашем случае проще нанять специалиста. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 16:24 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
Похоже, все исходят из того, что автор применяет одни и те же запросы от разных юзверей, хотя явно этого он и не обозначал. Возможно это так, но чтобы поверить в это, я прошу автора привести запросы и их планы от разных юзверей. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 16:33 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
AmKad, Да без разницы, 10053 на все ответит ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 16:49 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
xtender, Или просто покажет, что в FINAL приходят разные запросы без всякого обоснования =() ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 21:03 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
AlexFF__|, И покажет почему не выбран индексный доступ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 21:26 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
Тоже мучился с подобными проблемами, но так и не смог победить. У меня файл трассировки для 10053 не создается. Для 10046 - нормально. Уже и alter session set events '10053 trace name context forever, level 1' делал. Пусто в udamp ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 05:28 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
ChukisПусто в udampПотому что даже в допотопном Oracle нет такой папки. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 07:28 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
ChukisТоже мучился с подобными проблемами, но так и не смог победить. У меня файл трассировки для 10053 не создается. Для 10046 - нормально. Уже и alter session set events '10053 trace name context forever, level 1' делал. Пусто в udamp http://www.sql.ru/faq/faq_topic.aspx?fid=389 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 07:40 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
alex-ls, это я знаю. Для 10046 это работает. Для 10053 - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 07:51 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
Chukis, План то из кэша сначала вычистил? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 07:57 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
ChukisДля 10053 - нет. Для 10053 должен случиться hardparse. Самый простой способ его обеспечить - поменять comment на таблице перед запуском запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 09:21 |
|
Разный план выполнение запроса для разных пользователей
|
|||
---|---|---|---|
#18+
andrey_anonymousСамый простой способ его обеспечить - поменять comment на таблице перед запуском запроса.уже не работает этот способ - комменты не инвалидируют курсоры :) сброс по sql_id: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 10:54 |
|
|
start [/forum/topic.php?fid=52&fpage=76&tid=1882470]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 258ms |
total: | 408ms |
0 / 0 |