Yaffil CS. Значение параметра в запросе
- From
- Сергей Белов (2:5020/400)
- To
- All (2:5054/37.63)
- Date
- 2005-03-10T14:14:52Z
- Area
- SU.DBMS.INTERBASE
From: "Сергей Белов" <SBelov@parus.com.ua>
Привет, All!
Ай нид хэлп.
Дано:
Yaffil 1.0 Classic Server build 884
TABLE1 (ID Integer, NAME VARCHAR(20))
TABLE2 (ID Integer, T1_ID, TEXT VARCHAR(100), SIGN Integer)
Поле T1_ID - это внешний ключ на таблицу TABLE1 поле ID.
Поле SIGN программно принимает значения 0,1,2
Запрос:
Select T1.NAME, T2.TEXT
From TABLE2 T2
Left Outer Join TABLE1 T1
On T2.T1_ID = T1.ID
Where T2.SIGN = :SIGN
Столкнулся со следующим парадоксом:
если запросу в параметр :SIGN передать 0, то запрос выполняется 150
миллисекунд,
а если любое другое значение (1, 2, да хоть 10), то запрос выполняется в
среднем 8 секунд.
Причем, в обоих случаях план показывает использование только индексов,
никакого сканирования таблиц (NATURAL) нету.
Кто сталкивался и как решал, плиз....))
-----
С уважением,
Сергей Белов,
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