Ответ 1
Длинный VARCHAR
хранится таким же образом, как поле TEXT
/BLOB
в InnoDB
.
Из памяти предполагаемого BLOB, TEXT as так как длинные VARCHAR обрабатываются такими же путь от Innodb. Вот почему Innodb руководство называет его "длинными столбцами" чем BLOB.
Если вам не нужно индексировать эти столбцы (в этом случае VARCHAR
выполняется намного быстрее), нет смысла использовать VARCHAR
над TEXT
для длинных полей - в настройке MySQL
есть определенные оптимизаторы движка поиск данных по длине, и вы должны использовать правильный тип столбца, чтобы воспользоваться этими преимуществами.
Если вы используете MyISAM
, углубленное обсуждение темы здесь.
TEXT
и BLOB
сохраняются за столом, при этом таблица имеет указатель на расположение фактического хранилища.
VARCHAR
хранится в строке с таблицей. VARCHAR
быстрее, когда размер является разумным.
Согласно этот тест, VARCHAR
примерно в три раза быстрее, чем текст.