VARCHAR
yang panjang disimpan dengan cara yang sama seperti TEXT
/BLOB
bidang di InnoDB
(yang saya asumsikan Anda gunakan untuk transaksionalitas, integritas referensial, dan pemulihan kerusakan, bukan?) - yaitu, secara eksternal ke seluruh tabel pada disk (yang mungkin memerlukan pembacaan disk lain untuk mengambilnya).
Kecuali Anda perlu mengindeks kolom ini (dalam hal ini VARCHAR
jauh lebih cepat) tidak ada alasan untuk menggunakan VARCHAR
melalui TEXT
untuk bidang yang panjang - ada beberapa pengoptimalan khusus mesin di MySQL
untuk menyetel pengambilan data menurut panjangnya, dan Anda harus menggunakan jenis kolom yang benar untuk memanfaatkannya.
Jika Anda menggunakan MyISAM
diskusi mendalam tentang topik ini di sini .