Heim > Artikel > Backend-Entwicklung > Die Datenmenge ist relativ groß. Wie können statistische Funktionen besser implementiert werden?
Wie zählt man die Gesamtzahl, wenn die Datenmenge relativ groß ist?
Wenn eine Tabelle beispielsweise 5 Millionen Daten enthält, ist die herkömmliche Methode count(), was sehr ineffizient ist.
Einige Leute im Internet sagten, sie würden MySQL-Trigger verwenden, um statistische Ergebnisse in eine Ergebnistabelle einzufügen.
Gibt es noch andere Methoden? Ist es beispielsweise möglich, eine asynchrone Ausführung in eine MySQL-Ergebnistabelle einzufügen?
Oder können die statistischen Ergebnisse in Redis eingegeben werden?
Es ist auch die Rede davon, eine geplante Ausführung zu verwenden, aber unser Nutzungsszenario erfordert eine Echtzeitberechnung der Summe.
Wie zählt man die Gesamtzahl, wenn die Datenmenge relativ groß ist?
Wenn eine Tabelle beispielsweise 5 Millionen Daten enthält, ist die herkömmliche Methode count(), was sehr ineffizient ist.
1. Jemand im Internet sagte, man solle MySQL-Trigger verwenden, um statistische Ergebnisse in eine Ergebnistabelle einzufügen.
Gibt es noch andere Methoden? Ist es beispielsweise möglich, eine asynchrone Ausführung in eine MySQL-Ergebnistabelle einzufügen?
2. Oder können die statistischen Ergebnisse in Redis eingegeben werden?
Es ist auch die Rede davon, eine geplante Ausführung zu verwenden, aber unser Nutzungsszenario erfordert eine Echtzeitberechnung der Summe.
Sie können eine neue Tabelle erstellen, um die Zeilennummerninformationen zu speichern
Tabellenname (Primärschlüssel) |
Wenn beim Auslösen Daten eingefügt werden, wird die Datenmenge der Die entsprechende Tabelle ist 1 und wird um 1 dekrementiert, wenn Daten gelöscht werden.
4. Eine andere Möglichkeit besteht darin, jeweils nur Inkremente von 1 Minute zu berechnen (entsprechend den Echtzeitanforderungen Ihres Unternehmens). Der letzte statistische Wert plus das Inkrement von 1 Minute ergibt die aktuelle Summe. Dies hängt natürlich davon ab, ob die alten Daten gelöscht wurden. Ich denke, diese Methode wird mit dem Einfügen statistischer Ergebnisse in die Tabelle verbunden sein.
Ich verwende Redis normalerweise zum Speichern, Einfügen von 1 und Löschen von 1. Es gibt keinen Druck auf die Datenbank und gleichzeitig wird die Kopplung reduziert
Verwenden Sie zum Zählen einfach Memcache oder Redis.
Wenn Sie die Anzahl überprüfen müssen, überprüfen Sie zuerst den Memcache. Wenn er nicht gefunden wird, gehen Sie zur Datenbankanzahl und richten Sie dann den Memcache ein. Wenn Sie den Memcache das nächste Mal überprüfen, wird er dort angezeigt Ich muss nicht zählen.
Das Obige ist eine relativ große Datenmenge. Wie können statistische Funktionen besser implementiert werden? Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)