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.