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

Hvad er den bedste måde at gemme brugerbilleder ved hjælp af PHP og MySQL?

"Bedst" ​​afhænger af, hvad dit mål er.

De to primære måder at gemme brugeruploadede billeder på er enten at lægge det binære indhold ind i databasen som en BLOB eller at gemme billederne på drevet et eller andet sted og indsætte en indtastning i databasen, der angiver, hvilket billede der hører til hvor.

Placering af billederne i databasen har den fordel, at det ikke kræver nogen form for filsystemtilladelser på webserveren, og fjerner enhver form for synkroniseringsproblemer, hvis du betjener webstedet fra flere webservere. Men over tid gør det din database enorm, og hvis du ikke designer dine tabeller korrekt, kan det absolut dræbe din ydeevne og skalerbarhed.

Lagring af billederne som fil på filsystemet har den ekstra fordel, at det gør hentning ekstremt hurtig og effektiv, da webservere er meget gode til at betjene statiske filer.

Redigeret for at tilføje

Hvis du beslutter dig for at gemme filindhold i databasen, skal du absolut ikke placere det i en tabel, der skal tilgås hurtigt. Hvis du f.eks. har en "bruger"-tabel, der søges efter på næsten alle sidevisninger, så er den tabel ikke stedet for at placere dit filindhold. Opret i stedet en separat "billeder" eller "filer"-tabel, der indeholder filen og relaterede metaoplysninger.

At lægge mange bytes pr. række i en tabel gør den tabel meget langsom at arbejde med. Du vil ikke have den slags i tabeller, der ser stor brug.



  1. Tilslutning af Talend på Windows til en ODBC-database

  2. Sådan sammenlignes to tabeller i MySQL

  3. Forbinder Oracle til Amazon Aurora

  4. Hvordan dropper man alle brugertabeller?