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