Mailinglisten-Archive |
Hallo zusammen, ich habe die Aufgabenstellung, dass in regelmäßigen Abständen Daten aus einer Produktivtabelle in eine identische Archivtabelle übertragen werden sollen. Jetzt verwende ich folgendes mit PHP generiertes Statement: INSERT INTO archivtabelle SELECT * FROM produktivtabelle WHERE timestamp < [php: time()] LIMIT 0, 30 Es werden also immer 30 als abgelaufen markierte Datensätze in die Archivtabelle kopiert. Das Problem ist nunmehr, dass bei hoher Serverlast die Archivtabelle ständig automatisch gelockt ist, weil ja dort ein INSERT läuft. Das verlangsamt natürlich den Rest des Scriptdurchlaufs, da zuerst gewartet wird, bis das INSERT durchlaufen wurde. Gibt es ein SQL-Statement, das mit den aktuellen Status der Tabelle zurückliefert? Somit könnte ich explizit entscheiden, ob die oben genannte Query ausgeführt werden soll oder nicht; so nach dem Motto "Wenn Archivtabelle gerade nicht gelockt ist, kopiere die Daten, sonst lass es bleiben"... Liebe Grüße Tim -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive