Ded пишет:
Рубан Станислав wrote:
Сервер может хранить историю выполнения запросов при смене плана
(план, время выполнения и т.д.), при следующем вызове анализируется
ИСТОРИЯ и выбирается план, который приводил к лучшему результату.
Я бы таки предпочёл, чтоб сервер занимался делом, а не хранил
истории всех запросов и не копался бы в этом окаменевшем дерьме, что
гарантированно приведёт к выполнению select 1 from rdb$database за
минуту после пары лет эксплуатации базы.
Может быть и так :-)
хотя я говорю сохранять историю выполнения при СМЕНЕ ПЛАНА . Как часто
сервер будет менять план при select 1 from rdb$database, наверняка не
очень часто, соответственно сохраненных "историй" будет не очень
много.... У меня в этой процедуре всего два возможных плана было....
Вот как раз "оценивать историю выполнения запросов или нет" можно было в
конфиг и воткнуть...
Собсно, лет эдак 7, до появления FB1.5, за непланированный руками
запрос у меня кодер не так чтоб сразу отдавал 10% зарплаты, но пиво
точно ставил. На первый раз. В последнее время от практики
использования секции Plan почти отошли, но на автомате пишем +0 в
условиях джойна, оставляя судьбе совсем уж небольшой шанс -
использовать все нужные индексы, но порядок объединения выставить
через жопу. Тем не менее, она, судьба, регулярно этот шанс использует.
И тогда таки пишем волшебное слово Plan. И ничего, живы...
как не странно, но FB 1.5 "в этом месте" в течении года не менял план ни
в одном филиале
Станислав
- Re: Резкое изменение числа чтений в процедур... Рубан Станислав
-