Untuk menjawab pertanyaan, pada disk MySql menggunakan 1 + ukuran yang digunakan di bidang untuk menyimpan data (jadi jika kolom dideklarasikan varchar(45), dan bidangnya adalah "FooBar" itu akan menggunakan 7 byte pada disk, kecuali tentu saja Anda menggunakan set karakter multibyte, di mana ia akan menggunakan 14 byte). Jadi, bagaimanapun Anda mendeklarasikan kolom Anda, itu tidak akan membuat perbedaan pada akhir penyimpanan (Anda menyatakan bahwa Anda khawatir tentang pengoptimalan disk untuk tabel besar). Namun, itu membuat perbedaan dalam kueri, karena VARCHAR dikonversi ke CHAR ketika MySql membuat tabel sementara (SORT, ORDER, dll) dan semakin banyak catatan yang dapat Anda masukkan ke dalam satu halaman, semakin sedikit memori dan semakin cepat pemindaian tabel Anda. menjadi.