Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ist es schneller oder besser, MySQL anstelle von Textdateien oder Dateinamen für die Bestellung von Bildern mit PHP zu verwenden?

Ich würde sagen, dass viel von der Leistung Ihrer Basishardware/Dateisystem/Mysql-Verbindung abhängt. Ein einziger Zugriff auf die Festplatte, nur um Bilder zu lesen, ist höchstwahrscheinlich die schnellste Option. Aber Sie müssen Ihre Dateien vorher manuell benennen.

Mysql erfordert eine TCP- oder *NIX-Socket-Verbindung, und dies kann die Dinge verlangsamen (viel hängt jedoch von der Anzahl der Bilder ab, die Sie haben, und der "Qualität" Ihres DB-Links). Wenn Sie viele Dateien haben, ist die Leistungseinbuße möglicherweise vernachlässigbar. Nur aus einer Datei zu lesen könnte trotzdem schneller sein, ohne sich um den Aufbau einer DB-Verbindung zu kümmern; Sie müssten jedoch immer noch die ID/Dateinamen-Korrespondenz für die Bestellung aufschreiben.

Etwas, das ich in Ihrer Situation ausprobieren würde, ist, einen Blick auf den Befehl php stat zu werfen und zu sehen, ob er Ihnen beim Sortieren der Bilder helfen kann. Abhängig von der Anzahl der Bilder, die Sie haben (es funktioniert besser mit niedrigeren Zahlen), wird die Leistung möglicherweise nicht ernsthaft beeinträchtigt, und Sie könnten KEINE separate Liste mit Tupeln aus Bild/Erstellungsdatum führen. Wenn Ihre Anzahl von Bildern wächst, scheint mir der Dateilistenansatz ein vernünftiger Weg zu sein, um das Problem zu lösen. Nur ein Benchmarking des Dings mit zunehmender Anzahl von Bildern kann Ihnen jedoch die Wahrheit sagen. Denn ich denke, Sie können abhängig von Ihrem spezifischen Kontext mit einer großen Variabilität rechnen.