MySQL'deki bir BLOB sütununa koyabileceğim maksimum veri uzunluğu nedir?


150

MySQL'deki bir BLOB sütununa koyabileceğim maksimum veri uzunluğu nedir?


Görünüşe göre 2 ^ 16 bayt . Ayrıca: "Bir BLOB veya TEXT nesnesinin maksimum boyutu türüne göre belirlenir, ancak istemci ve sunucu arasında iletebileceğiniz en büyük değer, kullanılabilir bellek miktarı ve iletişim arabelleklerinin boyutu ile belirlenir."
Zabba


İnanılmaz bir şekilde, Mysql belgeleri bu bilgileri doğrudan sağlamaz. Bulduğum en yakın "Sadece Gerekli depolama alanı" formülü, bunu
hesapladıktan

Yanıtlar:


248

A BLOBmaksimum 65535 bayt (64 KB) olabilir.

Daha fazlasına ihtiyacınız varsa kullanmayı düşünün:

  • MEDIUMBLOB16777215 bayt için a (16 MB)

  • Bir LONGBLOB4294967295 bayt (4 TR) dir.

Daha fazla bilgi için bkz. Dize Türleri için Depolama Gereksinimleri .


61
Başka bir deyişle, BLOB≈ 64KB, MEDIUMBLOB≈ 16MB ve LONGBLOB≈ 4GB
IvanRF

Orta blob kullanıyorum, ancak sadece 1MB veriye kadar kabul ediyor. Neden? Bu boyutu ayarlamam gereken herhangi bir yer var mı?
SIBHI S

17

Doğru olabilir veya olmayabilir, ancak bu siteye göre: http://www.htmlite.com/mysql003.php .

BLOB En fazla 65535 karakter uzunluğunda bir dize.

MySQL kılavuzu şunları söylüyor:

Bir BLOB veya TEXT nesnesinin maksimum boyutu türüne göre belirlenir, ancak istemci ve sunucu arasında iletebileceğiniz en büyük değer, kullanılabilir bellek miktarı ve iletişim arabelleklerinin boyutu ile belirlenir.

İlk sitenin yanıtlarını http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html uyarınca MySQL kılavuzunu yorumlamaktan aldığını düşünüyorum


4

Bir BLOB maksimum 65535 bayt olabilir. Daha fazlasına ihtiyacınız varsa, 16777215 bayt için bir MEDIUMBLOB veya 4294967295 bayt için bir LONGBLOB kullanmayı düşünün.

Umarım size yardımcı olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.