MYSQL TINYBLOB против LONGBLOB - PullRequest
       16

MYSQL TINYBLOB против LONGBLOB

14 голосов
/ 20 января 2012

Это продолжение моего предыдущего вопроса: Требования к хранилищу и хранилищу

Я провел некоторое тестирование с использованием SHOW TABLE STATUS и обнаружил, что общее используемое дисковое пространство фактически зависит только от размера фактических файлов, загружаемых в базу данных, а не от типа (например, TINYBLOB или LONGBLOG) столбца.

Итак, если это не так, то какая разница, когда мы выбираем один из других типов BLOB?

1 Ответ

24 голосов
/ 20 января 2012

Каждый размер поля BLOB-объекта резервирует дополнительные байты для хранения информации о размере.Longblob использует 4 + n байт памяти, где n - фактический размер хранимого большого двоичного объекта.Если вы когда-либо сохраняете (скажем) 10 байтов данных BLOB-объектов, вы используете до 14 байтов пространства.

Для сравнения: tinyblob использует 1 + n байтов, поэтому ваши 10 байтов будут занимать11 байтов пространства, экономия 3 байтов.

3 байта не так много, когда приходится иметь дело только с несколькими записями, но с ростом числа записей в БД каждый сохраненный байт - это хорошо.

...