Operacje zapisu pojedynczego wiersza w tabeli danych nie zajmie 5 sekund, niezależnie od wielkości stołu.
Czy Twój indeks klastrowy jest oparty na polu sygnatury czasowej? Jeśli nie, to powinno być, więc nie piszesz gdzieś na środku stołu. Upewnij się również, że używasz tabel InnoDB - MyISAM nie jest zoptymalizowany pod kątem zapisów.
Proponowałbym napisać do dwóch tabele:jedna tabela długoterminowa, jedna tabela raportowania krótkoterminowego z niewielkim indeksowaniem lub bez indeksowania, które są następnie zrzucane w razie potrzeby.
Innym rozwiązaniem byłoby użycie bazy danych memcached lub bazy danych w pamięci dla danych raportowania na żywo, dzięki czemu nie ma trafienia na produkcyjną bazę danych.
Jeszcze jedna myśl:dokładnie, jak „na żywo” musi być którykolwiek z tych raportów? Być może pobieranie nowej listy na czas zamiast raz na co wystarczyłby widok strony.