HELP plizzz

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Bagdat
Сообщения: 19
Зарегистрирован: 12 апр 2005, 12:50

HELP plizzz

Сообщение Bagdat » 18 апр 2005, 15:56

Вот запрос
select c.n_doc, c.dt_doc, d.id_org, e.rname, b.debet, b.kredit, b.n_doc n_opl, b.dt_exp dt_opl, b.summa summa_opl,
c.kod, f.debet, f.kredit, f.summa sum_docum, f.dt_doc dt_docum, f.n_doc n_docum
from sp_order a, tb_prow b, tb_contract c, tb_contract d, sp_org e
left join tb_prow f on f.k_dog=c.kod and f.k_doc<>"10" and f.p_prow="1"
where (b.debet=a.debet and b.kredit=a.kredit) and a.k_order="6"
and c.k_bdfs=b.k_bdfs and c.k_dog=d.k_dog and d.prizn="1" and d.id_org=e.id_org
order by b.kredit

без left join-а все прекрасно а с left join-ом зависает на все 100

Кто может помочь, может как то можно обойтись без left join-а

sag
Сообщения: 116
Зарегистрирован: 02 ноя 2004, 11:42

Re: HELP plizzz

Сообщение sag » 18 апр 2005, 16:12

Bagdat писал(а): from sp_order a, tb_prow b, tb_contract c, tb_contract d, sp_org e
left join tb_prow f on f.k_dog=c.kod and f.k_doc<>"10" and f.p_prow="1"
Нельзя смешивать "стили" в select-е, если уж нужен тебе left join, то и весь запрос пиши в стиле join.
Bagdat писал(а):без left join-а все прекрасно а с left join-ом зависает на все 100
выправи запрос и сравни планы выполнения c inner и с left.
Bagdat писал(а):Кто может помочь, может как то можно обойтись без left join-а
Так ты сам определись с ситуацией, left тебе нужен или нет?

Ответить