Возник тут у нас спор, как оптимальнее (по скорости выполнения) писать
запрос в хранимке.
1) for select ...
from T1 join T2 on T1.F1+0=T2.F1
into ...
2) for select F1, ... from T1 into :FF1 do
for select ... from T2 where T2.F1=:FF1
into ...
Я всегда был уверен, что первый вариант эффективнее, а по экспериментам
получается, что второй, причем почти вдвое. Может кто-нибудь объяснить
почему?
Планы:
1) JOIN (T1 NATURAL,T2 INDEX (RDB$PRIMARY18))
2) (T1 NATURAL)
(T2 INDEX (RDB$PRIMARY18))
Количество чтений
1) T1 Non-Indexed reads 18762
T2 Indexed reads 18762
1) T1 Non-Indexed reads 18762
T2 Indexed reads 4736 <-- почему???
FB 1.5.3