Hello, Konstantin! Konstantin R. Beliaev wrote:
> Что-то я задумался: если индекс создан после создания триггера, то > запрос в триггере этот индекс использовать не будет, так? (по крайней > мере до бэкап-рестора) блин. индексов не существует. это миф. соответственно триггерам и процедурам пофиг, есть они или нет. При вызове процедуры или триггера сервер загружает в память их blr (скомпилированный при create/alter текст), И СТРОИТ ПЛАНЫ ДЛЯ ВСЕХ ЗАПРОСОВ, КОТОРЫЕ ВСТРЕЧАЮТСЯ в этом blr. И использует индексы, если те существуют. Но если процедура или триггер ВЫПОЛНЕНА, то есть ЗАГРУЖЕНА В КЭШ МЕТАДАННЫХ ДО СОЗДАНИЯ ИНДЕКСА, то разумеется, ПЛАН УЖЕ СФОРМИРОВАН, и создаваемый индекс не подцепится. http://www.ibase.ru/devinfo/ibmyths.htm пункт 6 а при b/r ТЕМ БОЛЕЕ сервер ни на какие планы не смотрит. -- Dmitri Kuzmenko, www.ibase.ru, (495) 953-13-34 --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---

