![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глюк с запросом [D5, IB6.x]
raptor3 © (2006-04-06 06:15:00)select sum(quantity),sum(items.discount_price) from items
inner join orders on items.id_order=orders.id_order
inner join client c1 on items.id_client_to=client.id_client
inner join client c2 on orders.id_client_from=client.id_client
inner join service on service.id_service=items.id_service
inner join format on format.id_format=items.id_format
where f_month(orders.date_order)=:month_ and f_year(orders.date_order)=:year_
and not(items.status=1 and items.status is not null)
and id_client_from not in (13,27,28,30,31,4122,3594,6732)
and id_client_from=:id_client
and c1.id_edition=:id_edition
запрос работает правильно и выдает результат через пару минут
однако если я подставляю "and id_client_to=:i" в условие проверки, где i в цикле от 1 до 6, от выборка затягивается на 5 часов
raptor3@mail.ru (2006-04-11 13:40:00) [1]индекс по полю id_client_to был косяченный - как только его удалил - прога заработала как надо
Desdechado (2006-04-06 12:23:00) [2]> Глюк с запросом [D5, IB6.x]
> запрос работает правильно
я так и не понял...
ЮЮ (2006-04-06 09:57:00) [3]not(items.status=1 and items.status is not null) == not(items.status=1) == (item.status <> 1)
и без преобразований ибо NULL <> 1.
and items.status is not null вообще лишнее
Sandman25 (2006-04-06 09:41:00) [4]Сделать item.status not null, вместо null присвоить, скажем, 0.
Тогда условие and not(items.status=1 and items.status is not null)
упростится до (item.status <> 1)
ЮЮ (2006-04-06 09:16:00) [5]1)
f_month(orders.date_order)=:month_ and f_year(orders.date_order)=:year_
Заменить на orders.date_order between :DateFrom and :DateTo ( + индекс по orders.date_order)
2) убрать
and id_client_from not in (13,27,28,30,31,4122,3594,6732) - ибо медленный и большей частью противоречит
and id_client_from=:id_client
Ограничения лучше перенести на этап формирования :id_client
Ильш (2006-04-06 06:37:00) [6]а что говорит план запроса ?