Подтвердить что ты не робот

Когда использовать TEXT в mysql вместо VARCHAR

Возможный дубликат:
MySQL: большой VARCHAR или TEXT?

Так как VARCHAR может иметь теперь 65k байт, то тогда вместо VARCHAR следует использовать TEXT?

4b9b3361

Ответ 1

Длинный VARCHAR хранится таким же образом, как поле TEXT/BLOB в InnoDB.

Из памяти предполагаемого BLOB, TEXT as так как длинные VARCHAR обрабатываются такими же путь от Innodb. Вот почему Innodb руководство называет его "длинными столбцами" чем BLOB.

источник

Если вам не нужно индексировать эти столбцы (в этом случае VARCHAR выполняется намного быстрее), нет смысла использовать VARCHAR над TEXT для длинных полей - в настройке MySQL есть определенные оптимизаторы движка поиск данных по длине, и вы должны использовать правильный тип столбца, чтобы воспользоваться этими преимуществами.

Если вы используете MyISAM, углубленное обсуждение темы здесь.


TEXT и BLOB сохраняются за столом, при этом таблица имеет указатель на расположение фактического хранилища.

VARCHAR хранится в строке с таблицей. VARCHAR быстрее, когда размер является разумным.

Согласно этот тест, VARCHAR примерно в три раза быстрее, чем текст.

Ответ 2

Текст должен использоваться для действительно длинных строк неопределенной длины. Кроме того, запросы, которые возвращают поля TEXT, как правило, намного медленнее, чем их аналоги VARCHAR.