sql >> Databáze >  >> RDS >> Mysql

Jaký je nejlepší způsob ukládání obrázků uživatelů pomocí PHP a MySQL?

„Nejlepší“ závisí na tom, jaký je váš cíl.

Dva primární způsoby ukládání uživatelsky nahraných obrázků jsou buď vložení binárního obsahu do databáze jako BLOB, nebo uložení obrázků někam na disk a vložení záznamu do databáze s uvedením, který obrázek kam patří.

Umístění obrázků do databáze má tu výhodu, že nevyžaduje žádná oprávnění k souborovému systému na webovém serveru a odstraňuje jakékoli problémy se synchronizací, pokud web obsluhujete z více webových serverů. Postupem času však vaši databázi zvětší, a pokud své tabulky nenavrhnete správně, může to absolutně zabít váš výkon a škálovatelnost.

Ukládání obrázků jako souboru do souborového systému má další výhodu v tom, že získávání je extrémně rychlé a efektivní, protože webové servery jsou velmi dobré při obsluhování statických souborů.

Upraveno za účelem přidání

Pokud se rozhodnete uložit obsah souboru do databáze, rozhodně jej nevkládejte do tabulky, ke které je potřeba rychle přistupovat. Pokud máte například tabulku „uživatelé“, která se prohledává téměř při každém zobrazení stránky, pak tato tabulka není místo pro uložení obsahu souboru. Místo toho vytvořte samostatnou tabulku "images" nebo "files" obsahující soubor a související metainformace.

Vložením velkého množství bajtů na řádek do tabulky je práce s tabulkou velmi pomalá. Něco takového nechcete v tabulkách, které jsou velmi vytížené.



  1. Jak funguje COUNT_BIG() na serveru SQL

  2. Jak mohu urychlit dotaz MySQL s velkým posunem v klauzuli LIMIT?

  3. Několik oblastí vylepšení v PostgreSQL 9.4

  4. Je možné použít soubor .mylogin.cnf v c# k navázání spojení?