Ich benutze PHP und MYSQL (innodb engine).Beste Methode, um am meisten angesehene Beiträge aus den letzten Stunden auszuwählen
Wie MYSQL-Referenz sagt, kann die Auswahl mit dem Vergleich einer Spalte und die Bestellung durch eine andere unseren berücksichtigten Index nicht verwenden.
Ich habe eine Tabelle mit dem Namen News
.
Diese Tabelle enthält mindestens 1 Million Datensätze mit zwei wichtigen Spalten: time_added
und number_of_views
.
Ich muss am meisten angesehen Datensätze von letzten n
Stunden auswählen. Was ist der beste Index dafür? Oder ist es möglich, diese Art von Abfragen sehr schnell für eine Tabelle mit Millionen von Datensätzen auszuführen?
Ich habe dies bereits für "letzten Tag" getan, was bedeutet, dass ich die am meisten angesehenen Datensätze vom letzten Tag auswählen kann, indem ich eine neue Spalte hinzufüge (date_added
). Aber wenn ich mich entscheide, diese Aufzeichnungen der letzten Woche auszuwählen, bin ich wieder in Schwierigkeiten.
Sie sollten die Abfrage angeben, die Sie in der Frage verwenden möchten. –