Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
 Re: Проседание времени выполнения запроса  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 46356

Ryuu
Мне вот даже интересно, как диванный эксперт свяжет две таблицы. Скажем, в одной миллион
строк и есть поле ключ, в другой тоже миллион строк и тоже поле ключ. Скажи, если не по
ключу, то как?

В твоём плане "FULL TABLE SCAN" и большая куча вложенных "NESTED LOOP" совсем-совсем не
выглядят на "связывание по ключу".

Posted via ActualForum NNTP Server 1.5

5 дек 18, 20:21    [21754939]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
Ryuu
Member [заблокирован]

Откуда:
Сообщений: 545
Dimitry Sibiryakov, а я знаю, почему он так себя вести начал? У меня нет таблиц, которые НЕ связаны по ключу.

кит северных морей, вы абсолютно правы. Но фишка в том, что фактического плана я от админов не добился, сам его получить не могу. Возможно, мог, если бы разбирался в этой теме чуть лучше. Но уже поезд уехал и разбираться дальше я в этой проблеме не буду. Эта обязанность висит не на мне. Да, вас это может возмущать, но у нас это так.

DВА, мне так важна твоя оценка, я почти прослезился. И нет, мне приходила в голову мысль о том, чтобы переписать запрос. Вот только моё начальство мне время на это не даст. Да и почему я должен это делать? Считайте, что я уперся рогом, и пока админы не докажут, что проблема НЕ на их стороне, делать что-либо со своим запросом я не буду. Да и связывать как-то по другому, грубо говоря, это просто перебор вариантов.

И да, хинты у нас не работают. Прелесть, да? Всё, я ушел.
5 дек 18, 20:24    [21754942]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
кит северных морей
Member

Откуда: Красноярск
Сообщений: 482
Ryuu
Эта обязанность висит не на мне. Да, вас это может возмущать, но у нас это так.
мне абсолютно всё равно, на ком в вашей организации висит эта обязанность, поверьте. я просто пытался вас натолкнуть на чуть более правильный ход мыслей при решении данных проблем, чтобы в следующий раз, случись он, вы лучше представляли, что нужно делать. судя по всему, получилось плохо :)
5 дек 18, 20:28    [21754945]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
mefman
Member

Откуда:
Сообщений: 2317
кит северных морей,
Вообще не получилось.))
5 дек 18, 20:50    [21754971]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
Ryuu
Member [заблокирован]

Откуда:
Сообщений: 545
кит северных морей, вы простите меня, пожалуйста. Я понимаю, что веду себя... несдержанно. У меня от данной проблемы изжога, метафорически говоря. Началось всё с общения с админами, вернее с одним конкретным индивидуумом. А потому и на колкие замечания реагирую, как оказалось, остро. Я сейчас даже не вас имею ввиду. Фактический план запроса я просил в своё время (пока проблема не ушла дальше), мне его не предоставили. С сегодняшнего дня, или лучше сказать, вчерашнего вечера, эта проблема уже не моя. И всё это скатилось... впрочем, вы прекрасно видите, во что это скатилось.
5 дек 18, 20:53    [21754978]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
AlexFF__|
Member

Откуда:
Сообщений: 2814
кит северных морей
Ryuu,
просевшая производительность запроса - это проблема разработчика, пока не доказано обратное...

Нет, просевший запрос - это проблема бизнеса.
И тут либо у dba есть адекватный мониторинг и они его сами отловят, либо бизнес поднимет инцидент.
И тут нет виноватых по умолчанию, может и железо виновато и кривой запрос и хайсизон в конце концов.

НО, в большинстве случаев, первичный анализ проблемы делают dba, по той простой причине, что разработчики, опять же в большинстве случаев, не имеют доступа к боевой БД.
А админы должны уметь находить причину. Не устранять ее, а именно находить. Хотя бы "план поменялся", если возможно, то почему.

И если бы у нас запрос, который не менялся, стал работать хуже, то наши вменяемые админы скинули бы мне полный анализ ситуации (просто выполнив определенный набор скриптов), а я бы уже смотрел, стоит ли разрабам переделывать запрос, либо просто дать им четкие рекомендации.

А то, что происходит у ТС, это простое отфутболивание проблемы, начатое админами.
Серьезно, я даже не могу представить, чтобы в серьезной организации, админы могли просто отписаться "ваш запрос стал медленно работать".
Это как профессиональный тестировщик описывал проблему "ваша программа не работает".
5 дек 18, 21:17    [21755009]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
-2-
Member

Откуда:
Сообщений: 14095
План получить сам ты не в состоянии, пеняешь на параметр сессии, который тоже изменить не умеешь. При таких компетенциях предъявляешь публике претензии к своим админам.
Пришел попалкаться на форум, может кто посочувствует. А тут такое...
5 дек 18, 21:17    [21755010]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
Ryuu
Member [заблокирован]

Откуда:
Сообщений: 545
-2-, увы и ах, я надеялся исключительно на то, что с минимальной информацией с моей стороны мне кто-нибудь подскажет что-то дельное, т.е. уже сталкивался с чем-то подобным или предполагает... что-то конкретное. Но, повторюсь, я уже сто раз пожалел, что создал здесь тему, тем более, что она с сегодняшнего дня и вовсе перестала быть актуальной. Сам не знаю, почему до сих пор здесь. И ваше "не умею" отнюдь не равно моему "не имею возможности".
5 дек 18, 21:37    [21755030]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
-2-
Member

Откуда:
Сообщений: 14095
Ryuu
И ваше "не умею" отнюдь не равно моему "не имею возможности".
Поручили решать вопрос с производительностью, а доступа к БД не дали?
5 дек 18, 21:57    [21755047]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
кит северных морей
Member

Откуда: Красноярск
Сообщений: 482
AlexFF__|,

я не думаю, что у админа, на группe которого могут висеть десятки или сотни БД, есть желание (и даже обязанность) разбираться именно с бизнес-инцидентами в каждой из них - для этого нужно иметь хотя бы поверхностное представление о бизнес-процессах в этих БД, без этого никакой мониторинг не поможет.

у нас инцидент от бизнеса сначала идет в application support, дальше - как правило, прикладной разработчик-владелец кода, еще дальше - DB dev team с расширенным read-only доступом в продуктив (я), и только потом DBA.

плюс, запросы ломаются не только на проде. есть, например, несколько препродуктивных сред, на которых в условиях нагрузки, приближенной к боевой, обкатываются доработки после первоначального тестирования. там может твориться что угодно, и на каждый чих админа не выдернешь - надо разбираться самим.
5 дек 18, 22:05    [21755060]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
кит северных морей
Member

Откуда: Красноярск
Сообщений: 482
Ryuu
т.е. уже сталкивался с чем-то подобным или предполагает... что-то конкретное.

поставьте сюда no_merge. вдруг поможет (я не знаю, что вы имели в виду, когда сказали, что хинты не работают).
  (-- Информация по входимости.
    SELECT /*+no_merge*/
      lvl,
      root_part_aid,
5 дек 18, 22:14    [21755066]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
AlexFF__|
Member

Откуда:
Сообщений: 2814
кит северных морей
AlexFF__|,
я не думаю, что у админа, на группe которого могут висеть десятки или сотни БД, есть желание (и даже обязанность)
...
у нас инцидент от бизнеса сначала идет в application support, дальше - как правило, прикладной разработчик-владелец кода, еще дальше - DB dev team с расширенным read-only доступом в продуктив (я), и только потом DBA.

Инцидент уже прошел саппорт, анализ разработки и пришел к одному запросу (или сами админы нашли его).
Сбор данных для определения причины это именно обязанность админа (в твоем случае DB dev team с расширенным read-only доступом).
Как я уже говорил, этот сбор дело несколько минут и одного нажатия кнопки для запуска скриптов.
А далее уже дело разработчиков.
Так что это, как ты и написал, отсутствие желания. + недоработка начальства.
5 дек 18, 22:26    [21755079]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
MaximaXXL
Member

Откуда: Киев
Сообщений: 635
Ryuu,

Вам очень повезло с начальником, который может просто сказать: - Не работает? Это не твоя проблемма.
Был были бы Вы у меня: - Не работает? Разберись и почини. Не хочешь разбираться? Подними постановку, напиши новый и закрой кейс.

Мы к админам ходим просить данные на которых нет прав - те же планы на проде.
Есть тесты, бизнес тесты, стендбай на крайняк ... найди где он работает быстро и сравни планы ...

А постановка вопроса: - Я один раз написал и больше переписывать не буду (или как-то так), не относит Вас к разряду думающих программистов .
Если запрос нестабилен - его надо лечить и это не задача админа.

Я Вам предлагал подумать, что стоит его переписать. Да - это может Ваше детище и Вы за "это" даже может премию получили, но план показывает что там есть что править.
5 дек 18, 22:37    [21755093]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
кит северных морей
Member

Откуда: Красноярск
Сообщений: 482
AlexFF__|,

как обычно, расхождения в терминологии всё спутали. я под "админами" обычно подразумеваю т.н. prod DBA, и ковыряться в запросах конкретной системы - всё-таки не их задача.

а в такой формулировке (если "админ" - это специализированный разраб БД / dev DBA) - да, согласен, разве что мы не только информацию собираем, но и даем конкретные рекомендации, т.к. тоже знаем систему изнутри.
5 дек 18, 23:11    [21755112]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 46356

Ryuu
а я знаю, почему он так себя вести начал?

Должен бы знать. Ведь это твоя база, ты знаешь таблицы, ты знаешь какие на них есть
индексы и когда пересчитывалась их статистика, ты знаешь как работает твой запрос, какие
методы доступа он может использовать и какие будут оптимальны на данном объёме данных. Или
ты таки ничего из этого не знаешь?..

Posted via ActualForum NNTP Server 1.5

5 дек 18, 23:33    [21755127]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
feagor
Member

Откуда: Москва
Сообщений: 144
Dimitry Sibiryakov,

Понаписали говнокода, разбираться не хотят, какой смысл вообще с такими вести диалог?
6 дек 18, 00:47    [21755173]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
xtender
Member

Откуда: Мск
Сообщений: 4959
начал было писать детальный разбор, но потом мысль о бессмысленности оного победила и на 5-м пункте бросил. Не вижу смысла помогать, если человек в принципе думать не хочет.




кит северных морей
Ryuu
т.е. уже сталкивался с чем-то подобным или предполагает... что-то конкретное.

поставьте сюда no_merge. вдруг поможет (я не знаю, что вы имели в виду, когда сказали, что хинты не работают).
  (-- Информация по входимости.
    SELECT /*+no_merge*/
      lvl,
      root_part_aid,
не поможет, т.к. во-первых изначально по плану видно, что оно не мерджится, а во-вторых, это ожидаемо, т.к. там внутри мало того, что деревяшка, так еще и прибита сверху аналитикой
6 дек 18, 01:10    [21755180]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
xtender
Member

Откуда: Мск
Сообщений: 4959
с другой стороны, если кому-то такое покажется интересным, то можно на следующем митапе RuOUG рассмотреть как пример "как не надо делать"
6 дек 18, 01:13    [21755181]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
кит северных морей
Member

Откуда: Красноярск
Сообщений: 482
xtender
не поможет, т.к. во-первых изначально по плану видно, что оно не мерджится, а во-вторых, это ожидаемо, т.к. там внутри мало того, что деревяшка, так еще и прибита сверху аналитикой

и правда. я портянку внимательно не читал

ну, значит не судьба.
6 дек 18, 01:40    [21755183]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
Ryuu
Member [заблокирован]

Откуда:
Сообщений: 545
кит северных морей, как и сказали, не помогло. Что же до десятков и сотен БД, отнюдь. Даже, если считать тестовые и прочие вариации, их не наберётся и десяти, и ими занимается группа админов, а не один человек.

-2-, да, к БД я полноценного доступа не имею. Разбираться нужно было совместно, в итоге разбирался один, пока запрос не ушел далее. Так как другая сторона напрочь не хотела вникнуть в проблему.

MaximaXXL, да, с начальником мне повезло, здесь я спорить не буду. Однако вопроса о переписке запроса не стояло. Работа с SQL лишь часть моих обязанностей, сейчас я уже переключился на другую задачу. Да и на момент активного обсуждения темы, вопрос уже перестал быть актуален (проблема ушла в РДТЕХ).
И согласитесь, если бы у вас случилась подобная ситуация, вы бы захотели разобраться в причине, а не тупо обвинили бы разработчика и заставили бы его переписывать код. В противном случае, я сочувствую вашим подчиненным. Что же до моей ситуации, то разобраться без помощи админов я не мог. Помощи не было, лишь желание спихнуть задачу и откреститься от проблемы. Причем здесь моё нежелание?

Dimitry Sibiryakov, разумеется, я все вышеупомянутое знал. Однако, когда в один день "ломается" связка таблиц, которая исправно работала несколько лет, сказать в чем причина сложно. И бездумно кидаться переписывать запрос, последнее дело.

xtender, я бы помог, но нет, не помогу. Спасибо. Над такими комментариями действительно думать не хочется. Но всё же, интереса ради, что вы подразумеваете под деревяшкой?
6 дек 18, 08:34    [21755311]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
123йй
Member

Откуда:
Сообщений: 1446
Ryuu
Но всё же, интереса ради, что вы подразумеваете под деревяшкой?

так и вертится на языке не верный ответ
6 дек 18, 09:12    [21755325]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
-2-
Member

Откуда:
Сообщений: 14095
Ryuu
к БД я полноценного доступа не имею.
Опять ходишь вокруг да около. Излагай факты а не литературные домыслы. Неполноценным доступ к БД можно назвать, если он через приложение, где из функций доступно только нажать кнопку "получить отчет". Доступ можно ограничить и через sql, особые политики наворачивают на общедоступных сервисах типа sqlfiddle или livesql. Но даже на livesql можно посмотреть план и установить политику и размер области сортировки.
6 дек 18, 09:58    [21755381]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
DВА
Member

Откуда:
Сообщений: 5251
xtender
начал было писать детальный разбор, но потом мысль о бессмысленности оного победила и на 5-м пункте бросил. Не вижу смысла помогать, если человек в принципе думать не хочет.


из двух выцепленных из общего бреда автора фраз, что фильтрация идет по результатам иерархического запроса и

Ryuu
Хочу заметить, что если в связки я заменю my_pc.root_part_aid на my_pc.root_proj_aid, где уникальность значительно меньше, следовательно, как и самих данных, всё работает, как и раньше, то есть быстро


все-таки ставлю на хинт cardinality ))
6 дек 18, 10:54    [21755492]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
DВА
Member

Откуда:
Сообщений: 5251
xtender
с другой стороны, если кому-то такое покажется интересным, то можно на следующем митапе RuOUG рассмотреть как пример "как не надо делать"

ой я те материалу-то накидаю ))))
6 дек 18, 11:04    [21755511]     Ответить | Цитировать Сообщить модератору
 Re: Проседание времени выполнения запроса  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5916
Ryuu
И мне, конечно, хотелось бы разобраться в проблеме


Не увидел ни одной попытки, только попытка перевалить проблему говнокода на сторону админов. Вы же протестировали, как поменяются планы остальных запросов при смене параметра БД, правда же?
Ryuu
В любом случае, я разобрался

Соберись, что ли...

Ryuu
Да и воспитан я как-то иначе

Воспитание, если оно есть, предполагает, что человек не будет слать матом ни на форуме, ни в жизни. Иначе это всего лишь боязнь ответственности за свои слова в реале. Так что и тут ошибся.


Ryuu
Обычная связка. Абсолютно обычная.

Критерии обычности приведите. У аборигенов Новой Зеландии обычным до сих пор считается сожрать соседа, например. Для алкаша, обычным считается нагадить в подъезде и считать, что это проблема жильцов и уборщицы.
6 дек 18, 12:33    [21755651]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
Все форумы / Oracle Ответить