Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 оптимальный ли запрос  [new]
189610
Member

Откуда:
Сообщений: 5
есть запрос следующего вида


from
CIRC_REQUEST circreques0_, 
ITEM item1_ inner join ITEM_BIB bibids2_ on item1_.ITEM_ID=bibids2_.ITEM_ID


where
(item1_.ITEM_ID=? )
and
(
	(circreques0_.ITEM_ID=? )
	or
	(
		(circreques0_.MARC_BIB_ID=bibids2_.MARC_BIB_ID )
		and
		(circreques0_.ITEM_ID is null )
	)
)
and
(circreques0_.REQ_STATUS in(? , ? , ? , ?))

вот я и думаю. если

(item1_.ITEM_ID=? )
and
(
	(circreques0_.ITEM_ID=? )


заменить на
where
(item1_.ITEM_ID=? )
and
(
	(circreques0_.ITEM_ID=item1_.ITEM_ID)

будет ли быстрее или нет? если да то намного ли?

а на других субд? например на mssql


зю. простите за имена переменных, это я не я так называю, это hibernate нагенерил
19 июн 06, 17:07    [2788527]     Ответить | Цитировать Сообщить модератору
 Re: оптимальный ли запрос  [new]
waspwort
Member

Откуда: Тамбов-сити
Сообщений: 325
нихрена не понял по поводу этого.
189610


(item1_.ITEM_ID=? )
and
(
	(circreques0_.ITEM_ID=? )


заменить на
where
(item1_.ITEM_ID=? )
and
(
	(circreques0_.ITEM_ID=item1_.ITEM_ID)



А что, собственно, мешает сравнить оба плана и время выполнения на реальных данных?
19 июн 06, 17:26    [2788684]     Ответить | Цитировать Сообщить модератору
 Re: оптимальный ли запрос  [new]
Sqaimes
Member

Откуда: Украина, Мариуполь
Сообщений: 443
если не напутал со скобками, то:
from
CIRC_REQUEST circreques0_, 
ITEM item1_ inner join ITEM_BIB bibids2_ on item1_.ITEM_ID=bibids2_.ITEM_ID


where
exists (select * from (select ITEM_ID, REQ_STATUS from CIRC_REQUEST where
ITEM_ID=item1_.ITEM_ID and a.ITEM_ID='?') a where a.REQ_STATUS in
('?' , '?' , '?' , '?')) or 
---этот кусок можно также
(circreques0_.MARC_BIB_ID=bibids2_.MARC_BIB_ID )
		and
		(circreques0_.ITEM_ID is null )

хотя по поводу (?,?,?,?) тоже ?
20 июн 06, 10:09    [2790357]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить