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


150

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


2 ^ 16 байт, по-видимому . Также: «Максимальный размер объекта BLOB или TEXT определяется его типом, но наибольшее значение, которое вы фактически можете передать между клиентом и сервером, определяется объемом доступной памяти и размером буферов связи».
Забба


Невероятно, но документы Mysql напрямую не предоставляют эту информацию. Самым близким, что я нашел, является формула «Требуется хранилище», которая подразумевает ответ только после вычисления: «L + 2 байта, где L <2 ^ 16»
Dogweather

Ответы:


248

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

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

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

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

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


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 байт.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.