Какую максимальную длину данных я могу поместить в столбец BLOB в MySQL?

150

Какую максимальную длину данных я могу поместить в столбец BLOB в MySQL?

Newy
источник
2 ^ 16 байт, по-видимому . Также: «Максимальный размер объекта BLOB или TEXT определяется его типом, но наибольшее значение, которое вы фактически можете передать между клиентом и сервером, определяется объемом доступной памяти и размером буферов связи».
Забба
Взгляните на stackoverflow.com/a/6766854/1358777
Алвин Кеслер
Невероятно, но документы Mysql напрямую не предоставляют эту информацию. Самым близким, что я нашел, является формула «Требуется хранилище», которая подразумевает ответ только после вычисления: «L + 2 байта, где L <2 ^ 16»
Dogweather

Ответы:

248

A BLOBможет быть максимум 65535 байт (64 КБ).

Если вам нужно больше рассмотреть возможность использования:

  • MEDIUMBLOBдля 16777215 байт (16 MB)

  • LONGBLOBдля 4294967295 байт (4 ГБ).

См. Требования к хранилищу для строковых типов для получения дополнительной информации.

WhiteFang34
источник
61
Другими словами, BLOB≈ 64 КБ, MEDIUMBLOB≈ 16 МБ и LONGBLOB≈ 4 ГБ
IvanRF
Я использую средний блоб, но он принимает данные только до 1 МБ. Зачем? Где-нибудь я должен установить этот размер?
SIBHI S
17

Может или не может быть точным, но в соответствии с этим сайтом: http://www.htmlite.com/mysql003.php .

BLOB Строка с максимальной длиной 65535 символов.

Руководство MySQL говорит:

Максимальный размер объекта BLOB или TEXT определяется его типом, но наибольшее значение, которое вы фактически можете передать между клиентом и сервером, определяется объемом доступной памяти и размером буферов связи.

Я думаю, что первый сайт получает свои ответы от интерпретации руководства MySQL, согласно http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html

Тисон Т.
источник
4

BLOB может быть максимум 65535 байт. Если вам нужно больше, рассмотрите возможность использования MEDIUMBLOB для 16777215 байт или LONGBLOB для 4294967295 байт.

Надеюсь, это поможет вам.

Шантану Бансал
источник