Jaka jest maksymalna długość danych, które mogę umieścić w kolumnie BLOB w MySQL?

150

Jaka jest maksymalna długość danych, które mogę umieścić w kolumnie BLOB w MySQL?

Nowość
źródło
Najwyraźniej 2 ^ 16 bajtów . Ponadto: „Maksymalny rozmiar obiektu BLOB lub TEXT jest określany przez jego typ, ale największa wartość, jaką w rzeczywistości można przesłać między klientem a serwerem, zależy od ilości dostępnej pamięci i rozmiaru buforów komunikacyjnych”.
Zabba
Spójrz na stackoverflow.com/a/6766854/1358777
Alwin Kesler
Niesamowite jest to, że dokumentacja MySQL nie podaje bezpośrednio tych informacji. Najbliższa formuła, jaką znalazłem, to formuła „Wymagane miejsce do przechowywania”, która po obliczeniu sugeruje tylko odpowiedź: „L + 2 bajty, gdzie L <2 ^ 16”
Dogweather

Odpowiedzi:

248

A BLOBmoże mieć maksymalnie 65535 bajtów (64 KB).

Jeśli potrzebujesz więcej, rozważ użycie:

  • a MEDIUMBLOBdla 16777215 bajtów (16 MB)

  • a LONGBLOBdla 4294967295 bajtów (4 GB).

Aby uzyskać więcej informacji, zobacz wymagania dotyczące magazynu dla typów ciągów .

WhiteFang34
źródło
61
Innymi słowy, BLOB≈ 64 MEDIUMBLOBLONGBLOB
KB
Używam średniej wielkości blob, ale akceptuje tylko do 1MB danych. Czemu? Czy jest gdzieś muszę ustawić ten rozmiar?
SIBHI S
17

Może, ale nie musi, być dokładne, ale według tej strony: http://www.htmlite.com/mysql003.php .

BLOB Ciąg o maksymalnej długości 65535 znaków.

Podręcznik MySQL mówi:

Maksymalny rozmiar obiektu BLOB lub TEXT jest określany przez jego typ, ale największa wartość, jaką w rzeczywistości można przesłać między klientem a serwerem, jest określana przez ilość dostępnej pamięci i rozmiar buforów komunikacyjnych

Myślę, że pierwsza witryna otrzymuje odpowiedzi z interpretacji podręcznika MySQL, na http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html

Tieson T.
źródło
4

BLOB może mieć maksymalnie 65535 bajtów. Jeśli potrzebujesz więcej, rozważ użycie MEDIUMBLOB dla 16777215 bajtów lub LONGBLOB dla 4294967295 bajtów.

Mam nadzieję, że to ci pomoże.

Shantanu Bansal
źródło