Начну издалека:
У меня есть таблица, на которую создан VIEW.
Выглядит примерно так
CREATE TABLE Table (
id INT NOT NULL PRIMARY KEY,
className VARCHAR(20),
ref1 INT REFERENCES ...
ref2 INT REFERENCES ...
...
);
CREATE VIEW View
AS SELECT * FROM Table
WHERE className = 'Foo';
Проблемы следующая: запрос на таблицу Table (к примеру SELECT * FROM Table WHERE ref1 = ... AND ref2 = ...) работает быстро, а такой же запрос к View работает гораздо медленнее...
Индекс на колонку className создан, но от тоже особо не помогает.
запрос вроде SELECT * FROM Table WHERE className = 'Foo' AND ref1 = ... AND ref2 = ... также работает быстрее, чем SELECT * FROM View WHERE ref1 = ... AND ref2 = ...
В чем же дело? Как ускорить работу Informix-а со вьюшками?