Hello, Oleg!
Oleg LOA wrote:

>>план FB
>>PLAN JOIN (SORT (REVENUE0 LINEITEM INDEX (LINEITEM_SHIPDATE)),SUPPLIER INDEX 
>>(SUPPLIER_PK))
> 
> У тебя он падает или переваривает его?

супер. С этим планом он падает на Prepare.

> Как бы в коде-то бардак полный :-(, можно взять FB1.0 и провериь планы на нём.

погодите... у меня кривой запрос для FB был, без order by s_suppkey.
зря ты его во view оформил, мог бы и целиком оставить :-)

Так вот, IB 6.0.1.0 дает план
PLAN MERGE (SORT (SUPPLIER ORDER SUPPLIER_PK),SORT (SORT (REVENUE0 LINEITEM 
INDEX (LINEITEM_SHIPDATE))))

FB 1.0.3 дает такой же план.

FB 1.5 дает план
PLAN SORT (JOIN (SORT (REVENUE0 LINEITEM INDEX (LINEITEM_SHIPDATE)),SUPPLIER 
INDEX (SUPPLIER_PK)))

IB 7.5 (и IB 7.1 SP2)
дает план
PLAN SORT (MERGE (SORT (SUPPLIER ORDER RDB$PRIMARY2),SORT (SORT (REVENUE0 
LINEITEM INDEX (LINEITEM_SHIPDATE)))))

падает на плане от FB 1.5, который тут приведен выше.

p.s. IB7.1 и 7.5 проверял также и на базе от FB, чтобы не было сомнений в 
расхождении БД.

-- 
Dmitri Kuzmenko, www.ibase.ru, (495) 953-13-34

Ответить