Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaki jest najlepszy sposób przechowywania obrazów użytkowników przy użyciu PHP i MySQL?

„Najlepszy” zależy od tego, jaki jest Twój cel.

Dwa podstawowe sposoby przechowywania obrazów przesłanych przez użytkownika to albo umieszczenie zawartości binarnej w bazie danych jako BLOB, albo zapisanie obrazów na dysku i umieszczenie w bazie danych wpisu wskazującego, który obraz należy gdzie.

Umieszczenie obrazów w bazie danych ma tę zaletę, że nie wymaga żadnych uprawnień do systemu plików na serwerze sieciowym i usuwa wszelkie problemy z synchronizacją, jeśli obsługujesz witrynę poza wieloma serwerami sieciowymi. Jednak z biegiem czasu baza danych staje się ogromna, a jeśli nie zaprojektujesz poprawnie tabel, może to całkowicie zabić wydajność i skalowalność.

Przechowywanie obrazów jako plików w systemie plików ma tę dodatkową zaletę, że pobieranie jest niezwykle szybkie i wydajne, ponieważ serwery internetowe są bardzo dobre w udostępnianiu plików statycznych.

Zmieniono, aby dodać

Jeśli zdecydujesz się przechowywać zawartość pliku w bazie danych, absolutnie nie umieszczaj jej w tabeli, do której trzeba szybko uzyskać dostęp. Jeśli na przykład masz tabelę „użytkownicy”, która jest przeszukiwana przy prawie każdej odsłonie, to ta tabela nie miejsce, w którym można umieścić zawartość pliku. Zamiast tego utwórz oddzielną tabelę „obrazy” lub „pliki” zawierającą plik i powiązane metainformacje.

Umieszczenie wielu bajtów na wiersz w tabeli powoduje, że praca z tą tabelą jest bardzo powolna. Nie chcesz tego rodzaju rzeczy w stołach, które są często używane.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Visual Studio 2015 Masz już użyteczne połączenie

  2. Pierwszy wiersz html nie jest wyświetlany

  3. Błąd uruchamiania PHP 7.0 i MySQL niezdefiniowany symbol:mysqlnd_allocator w Unknown

  4. ASP.NET MVC 4 EF5 z MySQL

  5. Automatyzacja wdrażania bazy danych MySQL