Abych odpověděl na otázku, na disku MySql používá 1 + velikost, která se používá v poli k ukládání dat (takže pokud byl sloupec deklarován varchar(45) a pole bylo „FooBar“, použilo by na disku 7 bajtů, pokud samozřejmě nepoužíváte vícebajtovou znakovou sadu, kde by se používala 14 bajtů). Ať už tedy své sloupce deklarujete jakkoli, nebude to mít žádný vliv na úložiště (uvedl jste, že se obáváte optimalizace disku pro masivní tabulku). Je to však rozdíl v dotazech, protože VARCHAR jsou převedeny na CHAR, když MySql vytvoří dočasnou tabulku (SORT, ORDER, atd.) a čím více záznamů se vám vejde na jednu stránku, tím méně paměti a rychlejší bude skenování vaší tabulky. být.