Re: query
- From
- Eugeney Putilin (2:5020/175.2)
- To
- Alex Cherednichenko (2:5054/37.63)
- Date
- 2005-03-05T09:28:20Z
- Area
- SU.DBMS.INTERBASE
From: "Eugeney Putilin" <eugeney@offpoly.ru>
Fri Mar 04 2005 21:10, Alex Cherednichenko wrote to Andrew Sovgir:
AC> From: "Alex Cherednichenko" <cherednichenko@wo.cz>
AC> Привет, Andrew!
AC> Вы пишешь к All 03 марта 2005:
AS>> Подскажите, как пpавильно (с точки зpения скоpости выполнения) написать
AS>> запpос такого типа:
AS>> select <что-то> from table1 <тут еще всякие джойны>
AS>> where table1.id not in (select id from table2 where...)
AS>> Т.е. избавиться от вложенного запpоса.
AC> Немного облегчит ситуацию:
AC> select <что-то> from table1 <тут еще всякие джойны>
AC> where not EXISTS(select 1 from table2 where table2.id = table1.id )
AC> Исключить же подзапрос вообще, имхо, не получится.
Нет счасться проктологам :-Р, но вариант с not EXISTS будет работать быстрее.
select <что-то> from table1 <тут еще всякие джойны>
left join table2 on table2.id = table1.id ....
where table2.id is null
С уважением Путилин Евгений
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
SEEN-BY: 46/50 50/203 450/186 1024 451/30 454/9 4614/20 4646/1 5000/5000
SEEN-BY: 5001/5001 5002/79 5003/57 5010/53 5011/13 5012/23 5020/52 175 400 545
SEEN-BY: 5020/715 758 894 1042 1523 1604 2238 4441 8383 12000 5021/29 5025/3
SEEN-BY: 5025/750 5027/16 5030/115 556 966 1063 1900 5032/14 5040/47 5042/13
SEEN-BY: 5054/1 8 9 28 35 37 45 63 5055/95 5058/24 5062/1 5069/7 5070/1222
SEEN-BY: 5080/68 1003 5082/6 5083/21 5085/13 5095/20 6000/254
PATH: 5020/175 4441 545 5054/1 37