Столкнулся с занятной вещью в 2.5.2SC
Есть таблицы customers(region1 varchar) и regions(code varchar, name_ru varchar)
По name_ru есть индекс,
CREATE INDEX REGIONS_IDX1 ON REGIONS COMPUTED BY (upper(name_ru));
По region1 тоже
CREATE INDEX CUSTOMERS_R1 ON CUSTOMERS (REGION1);
Проверяем
select code from regions where upper(name_ru) like 'ИВАНОВО%'
PLAN (REGIONS INDEX (REGIONS_IDX1))
Так какого фига?
select * from customers c
where c.region1 in (select code from regions where upper(name_ru) like 'ИВАНОВО%')
PLAN (REGIONS INDEX (PK_REGIONS))
PLAN (C NATURAL)
Ни один ни другой индекс не задействованы