Schreibvorgänge für eine einzelne Zeile in eine Datentabelle sollten nicht 5 Sekunden dauern, egal wie groß der Tisch wird.
Basiert Ihr gruppierter Index auf dem Zeitstempelfeld? Wenn nicht, sollte es so sein, also schreiben Sie nicht irgendwo in die Mitte Ihres Tisches. Stellen Sie außerdem sicher, dass Sie InnoDB-Tabellen verwenden – MyISAM ist nicht für Schreibvorgänge optimiert.
Ich würde vorschlagen, in zwei zu schreiben Tabellen:eine langfristige Tabelle, eine kurzfristige Berichtstabelle mit wenig oder keiner Indizierung, die dann nach Bedarf ausgegeben wird.
Eine andere Lösung wäre die Verwendung von Memcached oder einer In-Memory-Datenbank für die Live-Berichtsdaten, sodass es keinen Treffer in der Produktionsdatenbank gibt.
Noch ein Gedanke:Wie „live“ muss einer dieser Berichte genau sein? Vielleicht das Abrufen einer neuen Liste auf Zeitbasis statt einmal für jeden Seitenaufruf wäre ausreichend.