MySQL различное обращение между VarChar (255) и VarChar (65536)

Кто-нибудь знает разницу между использованием 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:

Я не ищу поиск в столбцах сообщений и данных

Это простой вопрос о производительности хранилища, а не об индексах или результатах поиска ...

12 голосов | спросил TheSquad 5 Maypm11 2011, 17:57:39

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132