JSON giả định utf8, do đó không tương thích với hình ảnh trừ khi chúng được mã hóa theo một cách nào đó.
Base64 gần như cồng kềnh gấp 8/6 lần so với hệ nhị phân (BLOB). Người ta có thể tranh luận rằng nó có giá cả phải chăng. 3000 bytes
trở thành khoảng 4000 bytes
.
Mọi người nên có thể chấp nhận mã 8-bit tùy ý, nhưng không phải ai cũng làm như vậy. Base-64 có thể là sự thỏa hiệp tổng thể và đơn giản nhất để không phải xử lý dữ liệu 8 bit.
Vì chúng là "nhỏ", tôi sẽ lưu trữ chúng trong một bảng, không phải một tệp. Tuy nhiên, tôi sẽ lưu trữ chúng trong một bảng riêng biệt và JOIN
bởi một id
thích hợp khi bạn cần chúng. Điều này cho phép các truy vấn không cần hình ảnh chạy nhanh hơn vì chúng không vượt qua BLOB.
Về mặt kỹ thuật, TEXT CHARACTER SET ascii COLLATE ascii_bin
sẽ làm được, nhưng BLOB
làm rõ hơn rằng thực sự không có bất kỳ văn bản nào có thể sử dụng được trong cột.