Độ dài tối đa của dữ liệu tôi có thể đặt trong cột BLOB trong MySQL là bao nhiêu?


150

Độ dài tối đa của dữ liệu tôi có thể đặt trong cột BLOB trong MySQL là bao nhiêu?


2 ^ 16 byte, rõ ràng . Ngoài ra: "Kích thước tối đa của đối tượng BLOB hoặc TEXT được xác định theo loại của nó, nhưng giá trị lớn nhất bạn thực sự có thể truyền giữa máy khách và máy chủ được xác định bởi dung lượng bộ nhớ khả dụng và kích thước của bộ đệm truyền thông."
Zabba


Thật đáng kinh ngạc, các tài liệu Mysql không trực tiếp cung cấp thông tin này. Công thức gần nhất tôi tìm thấy là công thức "Yêu cầu lưu trữ" chỉ ngụ ý câu trả lời, một khi bạn tính nó: "L + 2 byte, trong đó L <2 ^ 16"
Dogweather

Câu trả lời:


248

A BLOBcó thể tối đa 65535 byte (64 KB).

Nếu bạn cần xem xét thêm bằng cách sử dụng:

  • a MEDIUMBLOBcho 16777215 byte (16 MB)

  • a LONGBLOBcho 4294967295 byte (4 GB).

Xem Yêu cầu lưu trữ cho các loại chuỗi để biết thêm.


61
Nói cách khác, BLOB≈ 64KB, MEDIUMBLOB≈ 16MB và LONGBLOB≈ 4GB
IvanRF

Tôi đang sử dụng blob trung bình, nhưng nó chỉ chấp nhận dữ liệu cho đến 1 MB. Tại sao? Có nơi nào tôi phải đặt kích thước này không?
SIBHI S

17

Có thể hoặc không chính xác, nhưng theo trang web này: http://www.htmlite.com/mysql003.php .

BLOB Một chuỗi có độ dài tối đa 65535 ký tự.

Hướng dẫn sử dụng MySQL nói:

Kích thước tối đa của đối tượng BLOB hoặc TEXT được xác định theo loại của nó, nhưng giá trị lớn nhất bạn thực sự có thể truyền giữa máy khách và máy chủ được xác định bởi dung lượng bộ nhớ khả dụng và kích thước của bộ đệm truyền thông

Tôi nghĩ rằng trang web đầu tiên nhận được câu trả lời của họ từ việc diễn giải hướng dẫn sử dụng MySQL, theo http://dev.mysql.com/doc/refman/5.0/en/st Storage-request.html


4

Một BLOB có thể tối đa 65535 byte. Nếu bạn cần cân nhắc nhiều hơn bằng cách sử dụng MEDIUMBLOB cho 16777215 byte hoặc LONGBLOB cho 4294967295 byte.

Hy vọng, nó sẽ giúp bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.