Fra og med MySQL 5.1.6 kan du bruge Event Scheduler og indsæt optællingen i en statistiktabel regelmæssigt.
Opret først en tabel til at holde optællingen:
CREATE TABLE stats (
`key` varchar(50) NOT NULL PRIMARY KEY,
`value` varchar(100) NOT NULL);
Opret derefter en begivenhed for at opdatere tabellen:
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);
Det er ikke perfekt, men det tilbyder en selvstændig løsning (ingen cronjob eller kø), der let kan skræddersyes til at køre lige så ofte som den nødvendige friskhed af optællingen.