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


--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить