So ändern Sie die MySQL-Zeilengrößenbeschränkung
Wenn der Fehler „Zeilengröße zu groß (> 8126)“ auftritt, bedeutet dies, dass die maximal zulässige Zeilengröße erreicht ist MySQL wurde überschritten. Um dieses Problem zu beheben, können bestimmte Überlegungen zum Tabellendesign und Anpassungen der Datenbankkonfiguration implementiert werden.
Empfehlungen
Die auf Stack Exchange vorgeschlagene Lösung umfasst das Ändern von Einstellungen in der Datei my.cnf:
-
Barracuda-Dateiformat aktivieren: Konfigurieren Sie InnoDB durch Einstellung für die Verwendung des Barracuda-Dateiformats innodb_file_format=Barracuda. Dadurch entfällt die Notwendigkeit, einen Teil der BLOB-Daten inline zu speichern, wodurch die Zeilengröße reduziert wird.
-
Verwenden Sie ROW_FORMAT=COMPRESSED: Ändern Sie das Zeilenformat der Tabelle in ROW_FORMAT=COMPRESSED. Dieses Format reduziert die Größe der BLOB-Daten durch Komprimierung.
Beispielbefehl:
ALTER TABLE table_name
ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8;
-
Fallback auf MyISAM: In Falls das Problem durch die oben genannten Maßnahmen nicht behoben werden kann, sollten Sie die Verwendung von MyISAM als temporäre Speicher-Engine für interne Daten in Betracht ziehen. Fügen Sie der my.cnf-Datei die folgende Zeile hinzu:
internal_tmp_disk_storage_engine=MyISAM
Überlegungen
-
Tabellenschema überprüfen: Untersuchen Sie die Spalten der Tabelle und ihre Datentypen. Erwägen Sie, Spalten, die übermäßig viele Daten enthalten, in TEXT oder BLOB zu ändern.
-
Verwenden Sie ein dynamisches oder komprimiertes Zeilenformat: Die Optionen ROW_FORMAT=DYNAMIC oder ROW_FORMAT=COMPRESSED für die Tabelle können dazu beitragen, die Speicherplatznutzung für Daten zu optimieren -schwere Zeilen.
-
Erwägen Sie Sharding: Wenn die Tabelle a enthält Wenn Sie eine große Datenmenge benötigen, sollten Sie eine Aufteilung auf mehrere Datenbanken oder Tabellen in Betracht ziehen. Dadurch wird die Zeilengröße in jeder Tabelle reduziert.
Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL-Fehler „Zeilengröße zu groß'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn