Jeg hævder, at billeder (filer) normalt IKKE er gemt i en databasebase64-kodet. I stedet gemmes de i deres rå binære form i en binær (blob) kolonne eller fil.
Base64 bruges kun som transportmekanisme, ikke til opbevaring. For eksempel kan du indlejre et base64-kodet billede i et XML-dokument eller en e-mail-meddelelse.
Base64 er også stream venlig. Du kan indkode og afkode med det samme (uden at kende den samlede størrelse af dataene).
Selvom base64 er fint til transport, må ikke opbevare dine billeder base64-kodet .
Base64 giver ingen kontrolsum eller noget af nogen værdi til opbevaring.
Base64-kodning øger lagerkravet med 33 % i forhold til et råt binært format. Det øger også mængden af data, der skal læses fra persistent lagring, som stadig generelt er den største flaskehals inden for computing. Det er generelt hurtigere at læse færre bytes og kode dem på farten. Kun hvis dit system er CPU bundet i stedet for IO bundet, og du regelmæssigt udsender billedet i base64, så overvej at gemme i base64.
Inline-billeder (base64-kodede billeder indlejret i HTML) er en flaskehals i sig selv - du sender 33 % flere data over ledningen og gør det serielt (webbrowseren skal vente på de inline-billeder, før den kan afslutte med at downloade siden HTML).
Hvis du stadig ønsker at gemme billeder base64-kodet, vær venlig, uanset hvad du gør, så sørg for at du ikke gemmer base64-kodede data i en UTF8-kolonne, og indekser dem derefter.