ความยาวสูงสุดของข้อมูลที่ฉันสามารถวางในคอลัมน์ BLOB ใน MySQL คืออะไร?


150

ความยาวสูงสุดของข้อมูลที่ฉันสามารถวางในคอลัมน์ BLOB ใน MySQL คืออะไร?


2 ^ 16 ไบต์เห็นได้ชัด นอกจากนี้: "ขนาดสูงสุดของวัตถุ BLOB หรือ TEXT จะถูกกำหนดตามประเภทของมัน แต่ค่าที่ใหญ่ที่สุดที่คุณสามารถส่งผ่านระหว่างไคลเอนต์และเซิร์ฟเวอร์จะถูกกำหนดโดยจำนวนหน่วยความจำที่มีอยู่และขนาดของบัฟเฟอร์การสื่อสาร"
Zabba


เหลือเชื่อเอกสาร Mysql ไม่ได้ให้ข้อมูลนี้โดยตรง ฉันพบที่ใกล้เคียงที่สุดคือสูตร "พื้นที่จัดเก็บข้อมูลที่จำเป็น" ซึ่งหมายถึงคำตอบเท่านั้นเมื่อคุณคำนวณ: "L + 2 ไบต์ที่ L <2 ^ 16"
Dogweather

คำตอบ:


248

A BLOBสามารถมีได้สูงสุด 65535 ไบต์ (64 KB)

หากคุณต้องการใช้การพิจารณาเพิ่มเติม:

  • a MEDIUMBLOBสำหรับ 16777215 ไบต์ (16 MB)

  • a LONGBLOBสำหรับ 4294967295 ไบต์ (4 GB)

ดูข้อกำหนดการเก็บรักษาสำหรับประเภทสตริงสำหรับข้อมูลเพิ่มเติม


61
กล่าวอีกนัยหนึ่งคือBLOB≈ 64KB MEDIUMBLOB≈ 16MB และLONGBLOB≈ 4GB
IvanRF

ฉันใช้สื่อขนาดกลาง แต่ก็ยอมรับได้จนถึงข้อมูล 1MB เท่านั้น ทำไม? มีที่ไหนฉันต้องตั้งขนาดนี้
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 ไบต์

หวังว่ามันจะช่วยคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.