Больше, чем символ, но меньше, чем капля

StackOverflow https://stackoverflow.com/questions/5075

  •  08-06-2019
  •  | 
  •  

Вопрос

Char хороши, потому что они имеют фиксированный размер и, таким образом, делают таблицу более быстрой.Однако они ограничены 255 символами.Я хочу хранить 500 символов, но большой двоичный объект имеет переменную длину, а это не то, что мне нужно.

Есть ли какой-нибудь способ иметь поле фиксированной длины в 500 символов в MySQL или мне придется использовать 2 символьных поля?

Это было полезно?

Решение

Я бы предложил использовать varchar(500).Несмотря на то, что varchar не имеет фиксированной длины, база данных должна зарезервировать правильный объем пространства.Вы не заметите никакой разницы в производительности при использовании varchar(500) и 2xchar(255).

Вы также, вероятно, вызовете дополнительные накладные расходы, объединив два символьных поля вместе.

Другие советы

Я бы предложил использовать varchar(500)

...если у вас MySQL 5.0.3 или выше.В предыдущих версиях длина VARCHAR была ограничена 255 символами.

Кроме того, CHAR и VARCHAR по-разному работают в отношении конечных пробелов.Обязательно прочитайте 10.4.1.Типы CHAR и VARCHAR. (это для MySQL 5.0).

Вы слишком беспокоитесь о деталях внутренней реализации.Не делайте предварительную оптимизацию.

Идти с VARCHAR(500)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top