Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Глюк с запросом   Найти похожие ветки 

 
raptor3   (2006-04-06 06:15) [0]

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 часов


 
Ильш ©   (2006-04-06 06:37) [1]

а что говорит план запроса ?


 
ЮЮ ©   (2006-04-06 09:16) [2]

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


 
Sandman25 ©   (2006-04-06 09:41) [3]

Сделать item.status not null, вместо null присвоить, скажем, 0.
Тогда условие and not(items.status=1 and items.status is not null)
упростится до (item.status <> 1)


 
ЮЮ ©   (2006-04-06 09:57) [4]

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 вообще лишнее


 
Desdechado ©   (2006-04-06 12:23) [5]

> Глюк с запросом [D5, IB6.x]
> запрос работает правильно
я так и не понял...


 
raptor3@mail.ru   (2006-04-11 13:40) [6]

индекс по полю id_client_to был косяченный - как только его удалил - прога заработала как надо



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
15-1143631131
Ketmar
2006-03-29 15:18
2006.04.23
очень глупый баг %-)


2-1144297950
Alex_C
2006-04-06 08:32
2006.04.23
Как запустить программу и подождать пока откроется основное окно?


8-1128977517
Alko
2005-10-11 00:51
2006.04.23
Обратный отсчте времени


4-1138725955
Matrex
2006-01-31 19:45
2006.04.23
Handle и PID


1-1142567293
tigra
2006-03-17 06:48
2006.04.23
Работа с реестром