Кто-нибудь знает разницу между использованием VarChar (255) и VarChar (65536)?
Вот что я знаю до сих пор:
- VarChar (255) использует только один байт для размера
- VarChar (65536) будет использовать два байта для размера
- VarChar (65536) существует только с MySQL 5.0.3
- MySQL использует различную обработку между 255 и 65536 (не знаю разницы, хотя)
Что я не уверен в том, есть ли разница в производительности между этими varchars.
Скажем, я хотел бы создать таблицу с несколькими типами строк. Использование перечисления с 'data_type1' и 'data_type2'
data_type1 никогда не будет содержать более 255 символов в varchar data_type2 будет содержать более 255 символов в varchar
Какая таблица решений будет лучше?
id (int) - autoincrement
type (enum : data_type1, data_type2)
msg (varchar(255))
data (TEXT)
Используется только столбец "data", когда type == data_type2?
или
id (int) - autoincrement
type (enum : data_type1, data_type2)
msg (varchar(65536))
Используя столбец "msg", какой бы тип не присутствовал?
Колонка типа действительно нужна на обоих решениях для целей лечения.
ИЗМЕНИТЬ:
Когда type == data_type2, сохраненные данные никогда не будут превышать 10000 символов
ИЗМЕНИТЬ 2:
Я не ищу поиск в столбцах msg и datastrong >
Это простой вопрос о производительности хранилища, а не о индексах или поиске...