sql >> Databasteknik >  >> RDS >> Mysql

Lagra bildfiler eller webbadresser i MySQL-databas? Vilket är bättre?

Jag rekommenderar personligen att lagra bilder i databasen. Naturligtvis är det både fördelar och nackdelar.

Fördelar med att lagra BLOB-data i databasen:

  • Det är lättare att hålla BLOB-data synkroniserade med de återstående objekten i raden.
  • BLOB-data säkerhetskopieras med databasen. Att ha ett enda lagringssystem kan underlätta administrationen.
  • BLOB-data kan nås via XML-stöd i MySQL, som kan returnera en bas 64-kodad representation av data i XML-strömmen.
  • MySQL Full Text Search-operationer (FTS) kan utföras mot kolumner som innehåller data med fast eller variabel längd (inklusive Unicode). Du kan också utföra FTS-operationer mot formaterad textbaserad data som finns i bildfält, till exempel Microsoft Word- eller Microsoft Excel-dokument.

Nackdelar med att lagra BLOB-data i databasen:

Fundera noga på vilka resurser som kan lagras bättre i filsystemet snarare än i en databas. Bra exempel är bilder som vanligtvis refereras via HTTP HREF. Detta beror på att:

  • Att hämta en bild från en databas medför betydande omkostnader jämfört med att använda filsystemet.
  • Disklagring på databas-SAN är vanligtvis dyrare än lagring på diskar som används i webbserverfarmar.


  1. Migrera befintlig auth.User-data till den nya anpassade användarmodellen för Django 1.5?

  2. MySQL-prestanda:Enstaka bord eller flera bord

  3. Förlorade anslutningen till MySQL-servern vid "läsning av initialt kommunikationspaket", systemfel:0

  4. Hur man övervakar PostgreSQL som körs inuti en Docker-behållare:Del två