On 06/06/2012 09:05 PM, Marcin wrote:
Witam mam zapytanie wzięte z daemona z modułu payments. UPDATE documents SET closed = 1 WHERE customerid IN (SELECT a.customerid FROM cash a WHERE a.time <= unix_timestamp() GROUP BY a.customerid HAVING SUM(a.value) >= 0) AND type IN (1, 3, 5) AND cdate <= unix_timestamp() AND closed = 0
ale to wykonuje się straaaasznie długo. na virtualce rzeźbi mi już 20minut i bez efektu :( da się to jakoś przyśpieszyć, z optymalizować?
Dziwne. Jaki masz czas gdy zamienisz update na select? SELECT id FROM documents WHERE customerid IN (SELECT a.customerid FROM cash a WHERE a.time <= unix_timestamp() GROUP BY a.customerid HAVING SUM(a.value) >= 0) AND type IN (1, 3, 5) AND cdate <= unix_timestamp() AND closed = 0 Jaka wersja MySQLa? -- Aleksander 'A.L.E.C' Machniak LAN Management System Developer [http://lms.org.pl] Roundcube Webmail Developer [http://roundcube.net] --------------------------------------------------- PGP: 19359DC1 @@ GG: 2275252 @@ WWW: http://alec.pl