G
Guest
Gast
Hallo,
ich habe einen Connect zu einer MySQL DB und will in einer Tabelle alle Zeile löschen deren ID (auto incremet) kleiner als z.B. 100 ist - das geht auch mit:
...
rs = stmt.executeQuery("DELETE FROM `protokoll` WHERE CONCAT(`ID`) < 100");
in der nächsten Zeile steht dann gleich das Optimieren:
rs = stmt.executeQuery("OPTIMIZE TABLE `protokoll`");
stmt.close();
conn.close();
Durch diesen Code werden die neuen Einträge trotz des Optimierens wieder vorn an den gelöschten Stellen aufgefüllt, bis der Überhang wieder belegt ist - dieser Überhang sollte aber durch das Optimieren auch gelöscht werden.
Kann es nun sein, dass die Laufzeit zum Optimieren nicht ausreicht? Wenn ich z.B. in XAMMP 100 Zeilen lösche und danach auf optimieren klicke werden die neuen Einträge auch richtig wieder hinten angehängt, nicht so hier im Beispielcode.
ich habe einen Connect zu einer MySQL DB und will in einer Tabelle alle Zeile löschen deren ID (auto incremet) kleiner als z.B. 100 ist - das geht auch mit:
...
rs = stmt.executeQuery("DELETE FROM `protokoll` WHERE CONCAT(`ID`) < 100");
in der nächsten Zeile steht dann gleich das Optimieren:
rs = stmt.executeQuery("OPTIMIZE TABLE `protokoll`");
stmt.close();
conn.close();
Durch diesen Code werden die neuen Einträge trotz des Optimierens wieder vorn an den gelöschten Stellen aufgefüllt, bis der Überhang wieder belegt ist - dieser Überhang sollte aber durch das Optimieren auch gelöscht werden.
Kann es nun sein, dass die Laufzeit zum Optimieren nicht ausreicht? Wenn ich z.B. in XAMMP 100 Zeilen lösche und danach auf optimieren klicke werden die neuen Einträge auch richtig wieder hinten angehängt, nicht so hier im Beispielcode.