%20lange%3F.png)
Ich frage mich, ob es eine gute Idee ist, die Funktion von phpMyAdmin auf einer Tabelle mit ~12 GB auf einem Produktionsserver zu verwenden empty
. Ich möchte keine zu großen Verzögerungen verursachen, muss aber etwas Speicherplatz freigeben.
Dies muss auf einem Debian-basierten DELL-Server erfolgen:
MySQL 5.1.49 Intel Xeon X3430 @ 2,40 GHz, 4 GB Speicher
Angenommen, phpMyAdmin verwendet es, TRUNCATE
um die Tabelle zu leeren. Kann ich damit rechnen, dass das Abschneiden der Tabelle mehrere Minuten oder sogar Stunden dauert, oder ist das ein ziemlich schneller Vorgang, ähnlich dem Löschen einer Tabelle?
Antwort1
Wenn es gibtnullTransaktionen, die das Tabellenschema sperren, der TRUNCATE TABLE
Befehl wird nahezu augenblicklich beendet. Das längste, was ich bisher gewartet habe, waren 0,1 Sekunden, um eine 25 GB große Tabelle zu kürzen.
In jedem Fall TRUNCATE TABLE
hat ein Befehl keine unerwünschten Nebeneffekte auf andere Vorgänge als andere Wartungsvorgänge. Wenn der Server die erforderlichen exklusiven Sperren nicht erwerben kann, wird er blockiert – aber nicht, weil er eine große Menge an IO oder Verarbeitung erfordert – er wartet lediglich darauf, an die Reihe zu kommen.