sql >> Database >  >> RDS >> Mysql

Hoeveel echte opslagruimte wordt er gebruikt met een varchar(100)-declaratie in mysql?

Mysql zal 5 bytes opslaan plus één byte voor de lengte. Als de varchar groter is dan 255, zal het 2 bytes voor de lengte opslaan.

Merk op dat dit afhankelijk is van de tekenset van de kolom. Als de tekenset utf8 is, heeft mysql tot 3 bytes per teken nodig. Sommige opslagengines (d.w.z. geheugen) vereisen altijd de maximale bytelengte per teken voor de tekenset.

Een kolom nullable maken betekent dat mysql een extra byte per maximaal 8 nullable kolommen per rij moet reserveren. Dit wordt het "nulmasker" genoemd.

Het is zelfs niet consistent tussen opslag-engines binnen mysql!



  1. FORCE INDEX in MySQL - waar plaats ik het?

  2. Hoe een unieke index op meerdere kolommen te definiëren in sequelize

  3. Hoe meerdere waarden in één kolom te retourneren (T-SQL)?

  4. Hoe voer ik een query uit met behulp van velden in het nieuwe PostgreSQL JSON-gegevenstype?