Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum ist die InnoDB-Tabelle viel größer als erwartet?

InnoDB Tabellen sind geclustert, dh alle Daten sind in einem B-Tree enthalten mit dem PRIMARY KEY als Schlüssel und alle anderen Spalten als Payload.

Da Sie keinen expliziten PRIMARY KEY definieren , InnoDB verwendet eine versteckte 6-Byte-Spalte, um die Datensätze zu sortieren.

Dies und der Overhead des B-Tree Die Organisation (mit zusätzlichen Blöcken auf Nichtblattebene) benötigt mehr Platz als sizeof(int) * num_rows .