2016-08-03 17 views
1

Ich habe eine Datenbank gehostet auf Clever-Cloud (https://www.clever-cloud.com/pricing - MySQL Addon Größe LM: Speicher 1 GB & 2 vCPUS). Ich habe eine Tabelle mit 188 000 Zeilen über 311 MB mit InnoDb-Engine.Nicht genügend Speicher beim Löschen einer Spalte

Wenn ich versuche, eine Spalte von meinem Tisch fallen zu lassen (kein Index auf dieser Spalte) ich in phpMyAdmin die folgende Fehlermeldung erhalten:

2006 - MySQL-Server

weggegangen

Log von MySQL zu der Zeit der Fehler: https://gist.github.com/urcadox/038c180cefdcba20e1052e7418a43324

Ich habe gelesen, dass InnoDb-Engine Speicher verwendet, um eine neue Tabelle zu erstellen, kopieren Sie die Daten ohne die abgelegte Spalte und wechseln Sie alte und neue Tabellen, um die Drop-Operation durchzuführen.

  • Gibt es etwas, was ich tun kann, um weniger Speicher zu verwenden?
  • Gibt es trotzdem, InnoDb Festplatte statt Speicher zu verwenden?

Vielen Dank!

+0

Nicht sicher, ob dies die Frage 100% beantwortet, aber weniger Speicher und Festplatte zu verwenden, können Sie B und B + Bäume verwenden, um Datensätze zu organisieren? –

+0

@OmidCompSCI Das mag funktionieren, aber ich möchte nicht das ganze System ändern! –

Antwort

0

Warum probierst du nicht ALGORITHM = COPY in deiner Tabellenänderungsanfrage? Es ist Teil der ALTER TABLE syntax Es zwingt die Tabelle kopiert werden, anstatt an Ort und Stelle geändert werden. Die Speichernutzung ist wahrscheinlich niedriger. Aber bestimmte Vorbehalte gelten

Any ALTER TABLE operation run with the ALGORITHM=COPY clause prevents concurrent DML operations. Concurrent queries are still allowed. That is, a table-copying operation always includes at least the concurrency restrictions of LOCK=SHARED (allow queries but not DML). You can further restrict concurrency for such operations by specifying LOCK=EXCLUSIVE, which prevents DML and queries.

+0

Ok danke, ich werde es morgen früh versuchen (ich bin in Frankreich!), Während es fast niemanden im Service gibt –

+0

Es hat funktioniert! Danke –

+0

Ich bin froh, dass ich helfen konnte – e4c5

Verwandte Themen