Дълъг VARCHAR
се съхранява по същия начин като TEXT
/BLOB
поле в InnoDB
.
Освен ако не трябва да индексирате тези колони (в този случай VARCHAR
е много по-бързо) няма причина да използвате VARCHAR
над TEXT
за дълги полета - има някои специфични оптимизации на двигателя в MySQL
за да настроите извличането на данни според дължината и трябва да използвате правилния тип колона, за да се възползвате от тях.
В случай, че използвате MyISAM
задълбочена дискусия по темата е тук .
TEXT
и BLOB
се съхраняват извън таблицата, като таблицата просто има указател към местоположението на действителното съхранение.
VARCHAR
се съхранява в съответствие с таблицата. VARCHAR
е по-бързо, когато размерът е разумен.
Според този тест
, VARCHAR
е около три пъти по-бърз от текста.