Оптимальное хранение редких длинных строк в БД

Рейтинг: 1Ответов: 1Опубликовано: 20.11.2014

Какой объем памяти резервируют под себя ПУСТЫЕ поля типа longtext на жестком диске сервера?

Короче говоря, поле изначально имело тип text. Увы, несколько записей будут иметь значительно больший объем, чем 64 КБ. Значит, мне придется изменить тип на medium или longtext. Как это скажется на величине базы данных, если большинство таких полей будут практически пустыми?

Ответы

▲ 2Принят

MEDIUMTEXT не хранит всю строку, а хранит толко указатель. Строка храниться отдельно и занимает (<длина строки> + 3) байт.

Обновление

TEXT имеет длину <длина строки> + 2 (2 байта для хранения длины, т.е. макс длина 2^16).

MEDIUMTEXT имеет длину <длина строки> + 3 (3 байта для хранения длины, т.е. макс длина 2^24).

В этом, я так понимаю, вся разница.