select id,firstname,lastname,email,country,portal,language
from totaluser
where userid in
(select user from (select user, shipping/NULLIF(goodsvalue,0) as difference
from shipment
where user in
(select user
from (select user, count(*) as shipcount
from shipment
where user in
(select user from shipment
where status in ('3','5')
and createdtime between '2012-01-01'
and '2013-02-22' group by user)
and status in ('3','5') group by user)
as a
where status in ('3','5')
and shipcount=1))
as b
where difference > 2.5);
Я понимаю, что это очень простой оператор и его мгновение на моем тестовом сервере, однако на моем рабочем сервере требуется бесконечное время. Как мне изменить его, чтобы ускорить его?Как ускорить мой простой запрос sql
Оставшиеся СБД .... –
Множество подзапросов, вероятно, выиграют от хорошо подобранных индексов. Можете ли вы разместить дополнительную информацию о своей производственной БД? –
Как показал Silver Quettier, каковы различия между вашим разработчиком и производственным сервером? Являются ли индексы одинаковыми? Версия сервера SQL и т. Д. ...? – rhughes