sql >> Databasteknik >  >> RDS >> Mysql

Varför är InnoDB-tabellstorleken mycket större än förväntat?

InnoDB tabeller är klustrade, det betyder att all data finns i ett B-Tree med PRIMARY KEY som en nyckel och alla andra kolumner som en nyttolast.

Eftersom du inte definierar en explicit PRIMARY KEY , InnoDB använder en dold 6-byte kolumn för att sortera posterna på.

Detta och overhead av B-Tree organisation (med extra block som inte är på lövnivå) kräver mer utrymme än sizeof(int) * num_rows .



  1. Java:Läser Blob från Oracle

  2. Kombinera kapslade loop-frågor till överordnat arrayresultat - pg-promise

  3. Ruby/PgSQL-fel på Rails start:kan inte ladda en sådan fil -- pg_ext (LoadError)

  4. SQL som listar alla födelsedagar inom de kommande och föregående 14 dagarna