Информация об изменениях

Сообщение Re[3]: Oracle еше одна проблема. чтоб им. от 28.04.2015 16:52

Изменено 28.04.2015 17:09 m2l

Здравствуйте, зиг, Вы писали:

1>>1. Упростить запрос (выше пример давали) сохранив его суть.

зиг>чей конкретно пример вы имеете ввиду?
Эта ветка: http://rsdn.ru/forum/db/6030605
Автор: зиг
Дата: 28.04.15


1>>2. Добавить метаданные (индексы, статистику и т.д.) — кто его знает, что у вас в базе твориться

зиг>индексы все есть, статистика наверное должна вестись
Важен не факт наличия индексов, а как они используются запросами.
Статистика то есть, вопрос в том насколько она актуальна.

1>>3. Добавить хинты (не ваш случай)

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

1>>4. Обносить статистики


1>>Поскольку вы указываете на разницу между боевыми серверами и серверами разработки советую обратить внимание на 4 пункт, часто спотыкаются на нем.

1>>Если планируете пользоваться инструментом, то его не плохо бы изучить, с этим может помочь пункт 5.

зиг>а что такое "Обносить статистики", как это по английски будет? пункт 5 мне без надобности, все равно меня к серверам и не допустят, у меня правов нет да я и не испытываю желания этим заниматься, у нас специальные люди для этого. только их надо пинать. щас вот пойду попинаю только скажите как будет по англиски.

Опечатка: обновить. Update statictics.
Книжка нужна, для понимания последствий своих запросов.

зиг>а вообще погодите, вот вы там написали что происходит это все потому что оптимизатор пытается перебирает ищет нужный план выполнения. Но, когда я в сиквель девелопере запускаю просто посмотреть план запроса (тот самый который я в первом сообщение демонстрировала) — он его показывает мгновенно. какже так? противоречьице?

Мало исходных данных.
Если такой запрос уже выполнялся (в том числе с другими данными) — план вы получили из описанного кеша ("аилучший план запроса уже найден и если он подходит то используется").
Если такого запрос не выполнялось, план получаем сразу, а первый запрос к реальным данным отрабатывает медленно ==> холодная база. Еще более канонический случай. Блоки данных которые надо прочесть отсутствуют в памяти (ещё не разу не читались с момента старта базы или были вытеснены более востребованными) — следствие их чтение из файлов/ASM, при последующих запросах, пока не будут вытеснены будут читаться из памяти ==> быстро.
Re[3]: Oracle еше одна проблема. чтоб им.
Здравствуйте, зиг, Вы писали:

1>>1. Упростить запрос (выше пример давали) сохранив его суть.

зиг>чей конкретно пример вы имеете ввиду?
Эта ветка: http://rsdn.ru/forum/db/6030605
Автор: зиг
Дата: 28.04.15


1>>2. Добавить метаданные (индексы, статистику и т.д.) — кто его знает, что у вас в базе твориться

зиг>индексы все есть, статистика наверное должна вестись
Важен не факт наличия индексов, а как они используются запросами.
Статистика то есть, вопрос в том насколько она актуальна.

1>>3. Добавить хинты (не ваш случай)

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

1>>4. Обносить статистики


1>>Поскольку вы указываете на разницу между боевыми серверами и серверами разработки советую обратить внимание на 4 пункт, часто спотыкаются на нем.

1>>Если планируете пользоваться инструментом, то его не плохо бы изучить, с этим может помочь пункт 5.

зиг>а что такое "Обносить статистики", как это по английски будет? пункт 5 мне без надобности, все равно меня к серверам и не допустят, у меня правов нет да я и не испытываю желания этим заниматься, у нас специальные люди для этого. только их надо пинать. щас вот пойду попинаю только скажите как будет по англиски.

Опечатка: обновить. Update statistics.
Книжка нужна, для понимания последствий своих запросов.

зиг>а вообще погодите, вот вы там написали что происходит это все потому что оптимизатор пытается перебирает ищет нужный план выполнения. Но, когда я в сиквель девелопере запускаю просто посмотреть план запроса (тот самый который я в первом сообщение демонстрировала) — он его показывает мгновенно. какже так? противоречьице?

Мало исходных данных.
Если такой запрос уже выполнялся (в том числе с другими данными) — план вы получили из описанного кеша ("аилучший план запроса уже найден и если он подходит то используется").
Если такого запрос не выполнялось, план получаем сразу, а первый запрос к реальным данным отрабатывает медленно ==> холодная база. Еще более канонический случай. Блоки данных которые надо прочесть отсутствуют в памяти (ещё не разу не читались с момента старта базы или были вытеснены более востребованными) — следствие их чтение из файлов/ASM, при последующих запросах, пока не будут вытеснены будут читаться из памяти ==> быстро.