По определению:
VARCHAR: диапазон длины от 1 до 255 символов. Значения VARCHAR сортируются и сравниваются без учета регистра, если не указано ключевое слово BINARY. x + 1 байт
TINYBLOB, TINYTEXT: столбец BLOB или TEXT с максимальной длиной 255 (2 ^ 8-1) символов x + 1 байт
Исходя из этого, я создаю следующую таблицу:
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255),
`lastname` tinytext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Или лучше создать varchar или tinytext и почему ?
То же самое для:
VARCHAR: диапазон длины> 255 символов. Значения VARCHAR сортируются и сравниваются без учета регистра, если не указано ключевое слово BINARY. x + 2 байта
столбец BLOB, TEXT A BLOB или TEXT с максимальной длиной 65535 (2 ^ 16-1) символов x + 2 байта
Ответы:
В этом случае
varchar
лучше.Обратите внимание, что
varchar
может быть от 1 до 65535 символов.Большие двоичные объекты сохраняются в отдельном разделе файла.
Для включения в данные им требуется дополнительный файл для чтения.
По этой причине varchar выбирается намного быстрее.
Если у вас есть большой двоичный объект, к которому вы обращаетесь нечасто, то лучше использовать большой двоичный объект.
Хранение данных большого двоичного объекта в отдельном файле (части файла) позволяет уменьшить размер файла основных данных и, следовательно, получать его быстрее.
источник