Ich hätte mal gerne folgendes problem:
einfache DELETE-befehle dauern mehrere minuten, die CPU-auslastung steigt auf 100%, der taskmanager sagt mir, apache ist mit mind. 97% dabei.
Es liegt nicht an meinem server:
Wenn ich das skript auf einem hosteurope-webspace ausführe, kommt der 'fatal error maximum execution time exeeded'. Die Delete-befehle selbst sind aber offenbar alle ausgeführt worden. Die Einträge existieren danach nicht mehr.
Es liegt nicht an der DB-größe:
Die DB ist winzig, nur zum testen, die tabellen bestehen aus c.a zwei dutzend datensätzen.
Wenn ich diesselben befehle im sql-monitor (oder, ehrlich gesagt, im sql-front) eingebe, werden sie in sekundenbruchteilen ausgeführt.
Und noch etwas seltsames: Während der minutenlangen ausführungszeit, habe ich ja zeit, die sache mit mysql-front zu beobachten, und:
Die delete-befehle werden sofort ausgeführt, aber das skript hängt lange rum und apache treibt die cpu-auslastung auf 100%.
Hier das skript-schnippsel:
function delete_zs($zsID) {
$result=mysql_query("DELETE FROM personenzs WHERE id=$zsID") or die(mysql_error());
$result=mysql_query("DELETE FROM personengruppenzs WHERE personenID=$zsID") or die(mysql_error());
$result=mysql_query("DELETE FROM adressenbapersonen WHERE personenID=$zsID") or die(mysql_error());
return;
}
Also, nix ausgefuchstes. Eine sehr ähnliche funktion:
function delete_ba( $index) {
$result=mysql_query("DELETE FROM adressenba WHERE id=$index") or die(mysql_error());
$result=mysql_query("DELETE FROM adressengruppenba WHERE adressenID=$index") or die(mysql_error());
$result=mysql_query("DELETE FROM adressenbapersonen WHERE adressenbaID=$index") or die(mysql_error());
}
wird hingegen sofort und ohne probleme ausgeführt.
Was könnte das sein? Wo könnte ich suchen?
einfache DELETE-befehle dauern mehrere minuten, die CPU-auslastung steigt auf 100%, der taskmanager sagt mir, apache ist mit mind. 97% dabei.
Es liegt nicht an meinem server:
Wenn ich das skript auf einem hosteurope-webspace ausführe, kommt der 'fatal error maximum execution time exeeded'. Die Delete-befehle selbst sind aber offenbar alle ausgeführt worden. Die Einträge existieren danach nicht mehr.
Es liegt nicht an der DB-größe:
Die DB ist winzig, nur zum testen, die tabellen bestehen aus c.a zwei dutzend datensätzen.
Wenn ich diesselben befehle im sql-monitor (oder, ehrlich gesagt, im sql-front) eingebe, werden sie in sekundenbruchteilen ausgeführt.
Und noch etwas seltsames: Während der minutenlangen ausführungszeit, habe ich ja zeit, die sache mit mysql-front zu beobachten, und:
Die delete-befehle werden sofort ausgeführt, aber das skript hängt lange rum und apache treibt die cpu-auslastung auf 100%.
Hier das skript-schnippsel:
function delete_zs($zsID) {
$result=mysql_query("DELETE FROM personenzs WHERE id=$zsID") or die(mysql_error());
$result=mysql_query("DELETE FROM personengruppenzs WHERE personenID=$zsID") or die(mysql_error());
$result=mysql_query("DELETE FROM adressenbapersonen WHERE personenID=$zsID") or die(mysql_error());
return;
}
Also, nix ausgefuchstes. Eine sehr ähnliche funktion:
function delete_ba( $index) {
$result=mysql_query("DELETE FROM adressenba WHERE id=$index") or die(mysql_error());
$result=mysql_query("DELETE FROM adressengruppenba WHERE adressenID=$index") or die(mysql_error());
$result=mysql_query("DELETE FROM adressenbapersonen WHERE adressenbaID=$index") or die(mysql_error());
}
wird hingegen sofort und ohne probleme ausgeführt.
Was könnte das sein? Wo könnte ich suchen?
Kommentar