Главная страница


su.dbms.sql

 
 - SU.DBMS.SQL ------------------------------------------------------------------
 From : Ilya Zvyagin                         2:5020/400     28 Mar 2001  18:36:28
 To : All
 Subject : Re: mysql - запрос очень долго выполняется
 -------------------------------------------------------------------------------- 
 
 
 Mita Mikheev wrote in message <985714475@p113.f194.n5020.z2.ftn>...
 
 >В таблице - от 20 до 4000+ строк
 
 >Есть запрос типа
 SELECT DISTINCT t0.fid, t0.wcnt
 FROM w_4c t0, w_90 t1
 WHERE t0.parent IN (51897, .. ,51900)
   AND t1.parent IN (1,52551)
   AND t0.fid = t1.fid
   AND t0.wcnt-t1.wcnt > -10  ==  t0.wcnt > t1.wcnt - 10
 GROUP BY t0.fid
 ORDER BY t0.wcnt
 
 Где агрегирующие функции ? Зачем GROUP BY ?
 Вообще бредовый IMHO запрос, даже без GROUP BY.
 
 Я так понимаю, что надо вывести все записи из t0,
 для которых в t1 есть записи, отличающиеся по wcnt
 более чем на 10. Зачем же для этого делать декартово
 произведение а потом "выжимать" из него DISTINCT-ом
 строки t0 ?
 
 select t0.fid, t0.wcnt
 from t0
 where exists ( select * from t1 where t1.fid = t0.fid and t0.wcnt >
 t1.wcnt - 10 )
 
 Hе проще ли ?
 
 >Этот запрос выполняется довольно долго. Существует возможность подобных
 >запросов по 3 таблицам и более.
 >Можно ли сделать более оптимальный запрос?
 
 Лучше добавить JOIN с parent-ами и указать условия выборки по ним.
 Кроме того, тут в запросе есть JOIN по выражению - это будет всегда
 медленно.
 JOIN-ить надо по индексам по простым полям.
 
 Hасчет условия
 t0.wcnt > t1.wcnt - 10
 -лучще перепроектировать базу так, чтоб в явном виде где-то
 лежала эта разница в поле и по нему возможно построить индекс.
 --- ifmail v.2.15dev5
  * Origin: FCT Saint-Petersburg (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 mysql - запрос очень долго выполняется   Mita Mikheev   27 Mar 2001 17:33:38 
 Re: mysql - запрос очень долго выполняется   Ilya Zvyagin   28 Mar 2001 18:36:28 
Архивное /su.dbms.sql/13293af920f23.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional