VARCHAR
yang panjang disimpan dengan cara yang sama seperti TEXT
/BLOB
bidang di InnoDB
.
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 .
TEXT
dan BLOB
disimpan dari tabel dengan tabel hanya memiliki pointer ke lokasi penyimpanan yang sebenarnya.
VARCHAR
disimpan sejajar dengan tabel. VARCHAR
lebih cepat jika ukurannya masuk akal.
Menurut tes ini
, VARCHAR
sekitar tiga kali lebih cepat dari teks.