Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL - Base64 so với BLOB

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. lỗi php include not findind path

  2. Làm cách nào để thay đổi mật khẩu tài khoản gốc MySQL trên CentOS7?

  3. Định dạng phù hợp cho truy vấn PDO và MySQL IN / NOT IN

  4. Tìm khoảng trống trình tự còn thiếu mysql

  5. Giao dịch Mysql:cam kết và khôi phục