sql >> Databasteknik >  >> RDS >> Mysql

Vilka är de optimala varchar-storlekarna för MySQL?

För att svara på frågan, på disk använder MySql 1 + storleken som används i fältet för att lagra data (så om kolumnen deklarerades varchar(45), och fältet var "FooBar" skulle den använda 7 byte på disk, såvida du inte använder en multibyte-teckenuppsättning, där den skulle använda 14 byte). Så, hur du än deklarerar dina kolumner, kommer det inte att göra någon skillnad i lagringsändan (du sa att du är orolig för diskoptimering för en massiv tabell). Det gör dock skillnad i frågor, eftersom VARCHAR konverteras till CHAR när MySql gör en temporär tabell (SORT, ORDER, etc) och ju fler poster du får plats på en enda sida, desto mindre minne och snabbare kommer dina tabellskanningar vara.



  1. Hur tar man bort dubbletter från kommaseparerad lista med regexp_replace i Oracle?

  2. 4 sätt att ändra tidszonen i Oracle

  3. #1055 - Uttrycket av SELECT-listan finns inte i GROUP BY-satsen och innehåller en icke-aggregerad kolumn som är inkompatibel med sql_mode=only_full_group_by

  4. Hur inaktiverar man triggers i MySQL?