sql >> Database teknologi >  >> RDS >> Mysql

MySQL - Base64 vs BLOB

JSON antager utf8, og er derfor inkompatibel med billeder, medmindre de er kodet på en eller anden måde.

Base64 er næsten nøjagtigt 8/6 gange så omfangsrig som binær (BLOB). Man kan argumentere for, at det er let overkommeligt. 3000 bytes bliver omkring 4000 bytes .

Alle burde være i stand til at acceptere vilkårlige 8-bit koder, men ikke alle gør det. Base-64 kan være det enkleste og overordnede bedste kompromis for ikke at skulle håndtere 8-bit data.

Da disse er "små", ville jeg gemme dem i en tabel, ikke en fil. Jeg ville dog gemme dem i en separat tabel og JOIN med et passende id når du har brug for dem. Dette tillader forespørgsler, der ikke har brug for billedet, til at køre hurtigere, fordi de ikke træder over BLOB'erne.

Teknisk set TEXT CHARACTER SET ascii COLLATE ascii_bin ville gøre det, men BLOB gør det tydeligere, at der ikke rigtig er nogen brugbar tekst i spalten.



  1. MySQL i skyen - fordele og ulemper ved Amazon RDS

  2. Vælg fra en tabel, hvor felter ikke matcher betingelserne

  3. Hvordan parametriserer jeg en nul-streng med DBNull.Value klart og hurtigt

  4. java.sql.SQLEundtagelse:Ingen passende driver fundet til jdbc:mysql://localhost:3306/dbname