Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Base64 contre BLOB

JSON suppose utf8, donc est incompatible avec les images à moins qu'elles ne soient encodées d'une manière ou d'une autre.

Base64 est presque exactement 8/6 fois plus volumineux que le binaire (BLOB). On pourrait dire qu'il est facilement abordable. 3000 bytes devient environ 4000 bytes .

Tout le monde devrait être capable d'accepter des codes 8 bits arbitraires, mais pas tout le monde. Base-64 peut être le compromis le plus simple et le meilleur pour ne pas avoir à gérer des données 8 bits.

Puisqu'ils sont "petits", je les stockerais dans une table, pas dans un fichier. Je les stockerais cependant dans une table séparée et JOIN par un id approprié quand vous en avez besoin. Cela permet aux requêtes qui n'ont pas besoin de l'image de s'exécuter plus rapidement car elles n'enjambent pas les BLOBs.

Techniquement, TEXT CHARACTER SET ascii COLLATE ascii_bin ferait l'affaire, mais BLOB indique plus clairement qu'il n'y a pas vraiment de texte utilisable dans la colonne.