Yaffil CS. Значение параметра в запросе (Уточнение)

From
Сергей Белов (2:5020/400)
To
Сергей Белов (2:5054/37.63)
Date
2005-03-10T14:27:06Z
Area
SU.DBMS.INTERBASE
From: "Сергей Белов" <SBelov@parus.com.ua>


Привет, All!

Ай нид хэлп.

Дано:
Celeron 400, 128MB RAM
Win98
Yaffil 1.0 Classic Server build 884

TABLE1 (ID Integer, NAME VARCHAR(20))
Примерно 12 тыс. записей

TABLE2 (ID Integer, T1_ID, TEXT VARCHAR(100), SIGN Integer)
Поле T1_ID - это внешний ключ на таблицу TABLE1 поле ID.
Поле SIGN программно принимает значения 0,1,2
Примерно 50 тыс. записей

Запрос:
Select T1.NAME
From TABLE2 T1
Where Exists
  (Select T2.ID
   From TABLE2 T2
   Where T1.ID = T2.T1_ID and T2.SIGN = :SIGN)


Столкнулся со следующим парадоксом:
если запросу в параметр :SIGN передать 0, то запрос выполняется 150
миллисекунд,
а если любое другое значение (1, 2, да хоть 10), то запрос выполняется в
среднем 8 секунд.

Кто сталкивался и как решал, плиз....))


-----
     С уважением,
          Сергей Белов,
mailto: SBelov@parus.com.ua


--- ifmail v.2.15dev5.3
 * Origin: Demos online service (2:5020/400)
SEEN-BY: 46/50 50/203 450/186 1024 451/30 454/9 461/132 640 469/999 4616/3
SEEN-BY: 4625/8 4627/10 4646/1 5000/76 5000 5001/5001 5002/79 5003/57 5006/1
SEEN-BY: 5007/1 5010/53 70 5011/13 5012/23 5020/52 118 175 400 545 604 715 758
SEEN-BY: 5020/894 1042 1057 1523 1604 1835 2238 4441 8383 12000 5021/29 5025/3
SEEN-BY: 5025/750 5026/14 5027/16 5030/115 556 966 1063 1900 5032/14 5036/1
SEEN-BY: 5040/47 5042/13 5051/15 5054/1 8 9 28 35 37 45 63 5055/95 5057/1
SEEN-BY: 5058/24 5061/15 5062/1 5066/18 5069/7 5070/1222 5080/68 1003 5081/2
SEEN-BY: 5082/6 5083/21 5085/13 5095/20 6000/254
PATH: 5020/400 4441 545 5054/1 37