HELP. Оптимизация запроса.
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
lil007 Участник
Вступление в Клуб: 12.01.2023
|
Ср Янв 24, 2024 07:15  HELP. Оптимизация запроса. |
|
Полезность: Нет оценки
|
Добрый день.
Подскажите, есть проблема что у пользователя долго открывается вьюха.
Мне сказали, что можно по ID сессии как-то подрубится, через девелопер к сессии и посмотреть план запроса (это если я правильно постановку вопроса понял).
Как это сделать? |
|
|
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Ср Янв 24, 2024 09:51   |
|
Полезность: Нет оценки
|
Если проблема только у одного юзера - м.б. настройка Количество строк в запросе - любят юзеры большое кол-во строк настраивать |
|
|
lil007 Участник
Вступление в Клуб: 12.01.2023
|
Ср Янв 24, 2024 20:24   |
|
Полезность: Нет оценки
|
Volod пишет: | Если проблема только у одного юзера - м.б. настройка Количество строк в запросе - любят юзеры большое кол-во строк настраивать |
Если и так. Вопрос темы не раскрыт. |
|
|
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Чт Янв 25, 2024 09:47   |
|
Полезность: Нет оценки
|
Select sql_id from v$sql
where sql_fulltext like '%Z#MAIN_DOCUM%';
Select * from v$sql_plan where sql_id='7ffjqc8yd0073' |
|
|
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Вс Янв 28, 2024 10:51  Re: HELP. Оптимизация запроса. |
|
Полезность: Нет оценки
|
lil007 пишет: | Добрый день.
Подскажите, есть проблема что у пользователя долго открывается вьюха.
Мне сказали, что можно по ID сессии как-то подрубится, через девелопер к сессии и посмотреть план запроса (это если я правильно постановку вопроса понял).
Как это сделать? |
Зачем так сложно.
План запроса смотрится при наличии самого запроса.
Пользователь заходит в предсталвение. Жмёт кнопку SQL. Вы смотрите текст запроса и значения bind-переменных. Затем смотрите план.
Либо: пользователь ждёт, вы находите сессию пользователя в сис.вьюшне v$session, начинаете снимать с этой сессии трейс, командуете пользователю зайти во вьюшку, когда зайдёт - выключаете трассировку, разбираете, смотрите. |
|
|
pabrz Участник со стажем
Вступление в Клуб: 27.09.2022
|
Чт Фев 01, 2024 04:31   |
|
Полезность: Нет оценки
|
Обратите внимание на фильтры.
Последняя опция коллег из ЦФТ на эту тему была связана с тем, что при обращении к представлению через фильтр заполнялась служебная таблица.
По каждому пользователю.
Каждый раз.
Почему это делается?
Потому что блок where теперь не умеет в функции.
Поэтому гениальное решение: в фильтре сделать заполнение служебной таблицы, с которой потом делаем join и получаем отфильтрованные данные.
Решение, мягко говоря, спорное. Посмотрите свой случай на подобный феномен. |
|
|
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Пт Фев 02, 2024 14:03   |
|
Полезность: Нет оценки
|
pabrz пишет: | Обратите внимание на фильтры.
Последняя опция коллег из ЦФТ на эту тему была связана с тем, что при обращении к представлению через фильтр заполнялась служебная таблица.
По каждому пользователю.
Каждый раз.
Почему это делается?
Потому что блок where теперь не умеет в функции.
Поэтому гениальное решение: в фильтре сделать заполнение служебной таблицы, с которой потом делаем join и получаем отфильтрованные данные.
Решение, мягко говоря, спорное. Посмотрите свой случай на подобный феномен. |
Конечно, спорное. а как вы выкручиваетесь? а то у меня ещё дофига представлений переделывать... |
|
|
pabrz Участник со стажем
Вступление в Клуб: 27.09.2022
|
Пн Фев 05, 2024 01:33   |
|
Полезность: Нет оценки
|
Пока в большинстве случаев так и делаем: рефакторинг функций и перевод в sql. Иногда для сокращение объема через макросы, но это только визуальное сокращение - де факто объем будет тот же, так что всегда есть шанс перешагнуть лимит объема текста представления.
Есть еще мысль делать представление с колонками-функциями, а потом второе селектом из нее, но не пробовал пока, есть ненулевой шанс, что не сработает, то же самое касается функциональных реквизитов.
Куда больше жаль сложные конструкции, вроде трехмерных представлений (инструкция model), которые, очевидно, перестанут поддерживаться полностью. Postgree в них не умеет. Вот их заменить просто нечем. |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|