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

From
Dmitry Kuzmenko (2:5020/400)
To
Сергей Белов (2:5054/37.63)
Date
2005-03-10T22:35:14Z
Area
SU.DBMS.INTERBASE
From: Dmitry Kuzmenko <kdv@ibase.ru>

Hello, Сергей!

Сергей Белов wrote:

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

план запроса, какие есть индексы (в т.ч. по T2.SIGN? зачем тут exists
если это простой join? почему в предыдущем письме запрос с left join?

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

такое есть только по композитным индексам. артефакт, так сказать.
если, конечно, у тебя не сборка мусора срабатывает.

-- 
Dmitri Kouzmenko, www.ibase.ru, 953-13-34

Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5.3
 * Origin: Talk.Mail.Ru (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