А если FetchAll для обеих запросов сделать?
Дык у меня в настройка IBExpert-a стоит FetchAll по-умолчанию. И был
сделан FetchAll, т.к. IBExpert вернул одинаковое кол-во записей для
обоих запросов (по сути количество записей в справочнике TABL$TMC).
Слушай, а ты часом не за "Fetches from cache" уцепился ?
Ну да. Ежели оно такое разное, при выковыривании одних и тех же данных, то
первое, что в голову приходит - неполный фетч для одного из вариантов.
Следующей версией видимо был-бы как раз неверный план. Но тут тебе Ded уже
все растолковал... Кстати у меня на подобных запросах обычно оптимизатор и
сам нормально справляется, без подсказок.
Тут еще маленько почитал статью. Я б уж коли упомянул бы ES, то постарался
бы привести пример, в котором от него прок какой-никакой был. К примеру
написал бы код, который в один проход упорядоченно по коду товара табличку
остатков вычитывает и по смене кода товара выдает накопленные остатки. Всяко
быстрее работать будет. Кроме того стоит упомянуть о том, что все это можно
перевернуть на клиенте. Как многие и делают. Создать к примеру ClientDataSet
с нужным количеством полей, вычитать данные из таблицы остатков и заполнить
созданную табличку. Коду - 10-20 строк. Кроме того, всю эту работу умеют
многие генераторы отчетов делать. Ну и инструментов OLAP хватает у которых
возможностей поболе будет. Об этом тоже упомянуть бы стоило.
With b/r. Gleb.
P.S. Вообщем-то ты сам просил попинать, так что не обижайся, если что.
P.P.S. А по сравнению с другими статьями про FB на delphiplus этo всеж-таки
определенный шаг вперед. Там столько бреда откровенного понаписано... (это
мое imho).