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?