|
|
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
2 softbuilder@inbox.ru если учесть что на девятке выполнялось быстрее, то "также быстро". 2 Denis Popov: > У меня вопрос: если подобный запрос периодически выполняется, то не > стоило ли однажды, дождавшись выполнения при максимальном значении > optimizer_max_permutations, закрепить план выполнения памяти, и в > дальнейшем использовать его, не строив сызнова? к сожалению так сделать нельзя. Точнее можно, но такая возможность бывает очень редко. Поясню. Запросы генерятся автоматически на основе метаописаний при помощи рукотворного генератора. При каждом запуске генерится новый SQL с новыми ограничениями. То что этот генератор нуждается в доработке - вопросов нет. Но это пока единственное средство полностью отвечающее требованиям по функциональности (что доминирует над остальными критериями в моей ситуации). 2 DBA факт. запрос "трехэтажный". дерево планировщика состяло из 154 операций (steps). Вообще речь идет о сокращении времени с 17 минут до 3-х - при первом запуске запроса, и до 45 сек. - при втором и последующем запуске того-же запроса ("кэш в работе"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:21 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
>факт. запрос "трехэтажный". дерево планировщика состяло из 154 операций >(steps). Вообще речь идет о сокращении времени с 17 минут до 3-х - при >первом запуске запроса, и до 45 сек. - при втором и последующем запуске >того-же запроса ("кэш в работе"). я просто хочу понять как же все-таки повлияло уменьшение optimizer_max_permutations на время выполнения. Т.е. с 17 минут до 3 минут при чтении с диска. Хорошо, но если потом до 45 сек. при чтении из кеша, то это означает, что время уходило ну совсем не на парсинг, а на чтение блоков. Или я неправ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:28 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
Скорее всего, второй запуск на выполнение уходит на простую сверку селекта и изменений кэша (+ выдача результата), что составляет ок. 45 сек. Проблема сокращения времени обработки запроса комплексная. Допускаю что влияли и прочие факторы (изменения которых мы старались избегать). Но то, что время обработки (по крайней мере львиная доля) сократилось из-за изменения обсуждаемого параметра - это бесспорно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:39 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
>Скорее всего, второй запуск на выполнение уходит на простую сверку >селекта и изменений кэша (+ выдача результата), что составляет ок. 45 сек. т.е. запрос второй раз не парсился? Я то думал вы это обеспечили. Тогда вообще ничего не понятно. Как вообще можно сравнивать, если вы не знаете на что уходило время? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:49 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
Я говорю про факт. СУБД рассматриваю как черный ящик. На входе: запрос SQL, параметры СУБД, версия СУБД, конфигурация аппаратуры. На выходе: время выполнения. Оснавная задача: сократить время выполнения. Примечание: работа кэша особо не интересует. 9-ка приводится только потому, что различия обнаружились лишь прогнав запрос на двух СУБД. Для исключения влияния аппаратных мощностей был проведен тест на одной и той же машине (видно по списку). Результат: ЗНАЧИТЕЛЬНО сокращено время выполнения запроса SQL, изменив значение параметра optimizer_max_permutations. На что уходит время мне не интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:05 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
>Примечание: работа кэша особо не интересует ну-ну, рассматривайте и дальше СУБД как черный ящик. Я так понимаю, что и план выполнения вас особо не интересует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:13 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
> ну-ну, рассматривайте и дальше СУБД как черный ящик. Я так понимаю, что и план выполнения вас особо не интересует. Как раз интересует, но с точки зрения стоимости выполнения запроса. Очевидно что время выполнения запроса с меньшей стоимостью будет выполнено быстрее. Я уж не буду говорить о том что стоимость изменилась после изменения параметра оптимизатора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:17 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
>Я уж не буду говорить о том что стоимость изменилась после изменения >параметра оптимизатора. Какого именно параметра? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:20 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
2 dba см выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:22 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
Хорошо, тогда вот моя интерпретация вашего сообщения: На входе: Запрос На выходе: План выполнения Основная задача: Получить лучший план выполнения Результат: План выполнения улучшился при изменении колл-ва вариаций соединения таблиц с 80000 до 2000 Примечание: Сколько вариаций использовал оптимизатор в действительности -неизвестно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:35 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
тоже неплохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:36 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
К сожалению мое начальство незнает что такое "план выполнения". Оно знает что такое "время". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:38 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
>К сожалению мое начальство незнает что такое "план выполнения". Оно >знает что такое "время". Так и Ваше сообщение больше подходит на форум для "начальства", потому что для админа важен не столько рез-тат, сколько понимание почему так произошло. Во-первых это не логично, что при увеличении числа пермутаций ухудшается план - значит это баг, который возможно устранен (а у Вас базы не пропатчены - я так понимаю что начальство не знает что такое "патч"). Во-вторых Вы не владеете полной информацией (например, были кешированы данные, парсился ли второй раз запрос) для того чтоб утверждать, что это именно так. Например, Вы изменили параметр и время отклика уменьшилось, а на самом деле это из-за того, что Петя с Васей как раз перестали играть в Unreal по сетке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:50 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
Понятие времени мне тоже ближе т.к. оно является основной целью (точнее его сокращение). Считаю что осознание общей цели в данной ситуации более важно, т.к. задает нужное направление как для дальнейшего обсуждения, так и в поддержку/помощь автору данного топика. Причем здесь патч (хотя о них я писал выше: тестили с ними и без них)? Ко второму замечанию: данные кэшируются - однозначно (и во всех тестах). Как запрос может не парситься? Повторяю. Тесты проводились на различных конфигурациях оборудования (кроме 2-х случаев: см тест 3 и 4) для того чтобы понять как сильно влияет на результат хардверная состаляющая. Прочие условия тестирования поддерживались одинаковыми для всех случаев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 16:13 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
можно сделать трассировку чтобы опровергнуть/подтвердить предположения. С цифрами на руках было бы проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 17:40 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
трассировку чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 17:56 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
трассировку сессии, выдающей это запрос разумеется. Можно затем сравнить результаты статистики на этапе парсинга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 18:07 |
|
||
|
Горю, выручайте или уволят
|
|||
|---|---|---|---|
|
#18+
Вам этот трид раздувать еще не надоело? :) Вроде у автора уже все заработало...хоть и премию снимут :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 18:08 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32138877&tid=1991023]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 473ms |

| 0 / 0 |
