Показать сообщение отдельно
Старый 16.11.2010, 11:36   #9  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от oip Посмотреть сообщение
но правильнее сделать все-таки вот так:
Вообще по хорошему вычисление выражения (_inventTransID == '') должно быть выполнено оптимизатором до цикла. И на SQL-сервер должен уйти следующий запрос, который в свою очередь должен быть в итоге соптимизирован до простейшего запроса.

Код:
select salesLine 
where 
    salesLine.SalesId           == _salesID           && 
    (salesLine.InventTransId ==  _inventTransID || true)
Код:
// Оптимизируем
select salesLine 
where 
    salesLine.SalesId == _salesID && true
Код:
// Ещё раз оптимизируем
select salesLine 
where 
    salesLine.SalesId == _salesID
Но это всё в теории. Происходят ли подобные оптимизации на самом деле? Было бы логично