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?


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


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 .


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


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.