Od wersji MySQL 5.1.6 możesz użyć Harmonogramu zdarzeń i regularnie wstawiaj licznik do tabeli statystyk.
Najpierw utwórz tabelę do przechowywania licznika:
CREATE TABLE stats (
`key` varchar(50) NOT NULL PRIMARY KEY,
`value` varchar(100) NOT NULL);
Następnie utwórz wydarzenie, aby zaktualizować tabelę:
CREATE EVENT update_stats
ON SCHEDULE
EVERY 5 MINUTE
DO
INSERT INTO stats (`key`, `value`)
VALUES ('data_count', (select count(id) from data))
ON DUPLICATE KEY UPDATE value=VALUES(value);
Nie jest idealny, ale oferuje samodzielne rozwiązanie (bez cronjob lub kolejki), które można łatwo dostosować do uruchamiania tak często, jak wymagana jest świeżość liczenia.