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

Massives PHP-Array vs. MySQL-Datenbank?

Die anderen Antworten sind richtig - aber aus den falschen Gründen.

Wenn Sie die Daten in einem PHP-Array speichern, können Sie sie viel schneller abrufen als aus einer Datenbank - selbst wenn der Datensatz im Speicher zwischengespeichert ist. Das Problem ist, dass in normalen PHP-Architekturen jede Anfrage von einem separaten Prozess behandelt wird. Daher muss jede Anforderung, die Zugriff auf die Daten benötigt, den gesamten Datensatz in den Speicher laden. Das braucht Zeit. Der Punkt, an dem es teurer wird, diesen Vorgang durchzuführen, anstatt Elemente aus einer Datenbank abzurufen, hängt von vielen verschiedenen Faktoren ab – aber als grobe Faustregel liegt er im Bereich von 100 Datensätzen. Es gibt Anwendungen, bei denen dieses Modell sinnvoll ist - aber sie setzen auf sehr kleine Datenmengen und einen kontrollierten Prozess der Änderung / Verwaltung der Daten.

Ihr nächstes Problem ist, dass Sie wahrscheinlich einige Transaktionen gegen die Aktie aufzeichnen möchten - das bedeutet, die Daten zu ändern - und das bedeutet, den Zugriff zu serialisieren, um sicherzustellen, dass zwei separate Transaktionen nicht gleichzeitig stattfinden. Es ist unmöglich, dies in PHP zu implementieren (ohne einen dedizierten Daemon, um zu entscheiden), ohne Deadlocks zu haben.

Wenn Sie jemanden für die Implementierung des Codes in Rechnung stellen, sollte es offensichtlich sein, dass der Versuch, dies im Speicher zu implementieren, eine sehr, sehr schlechte Idee ist.