Depuis MySQL 5.1.6, vous pouvez utiliser le Event Scheduler et insérez régulièrement le décompte dans un tableau de statistiques.
Créez d'abord une table pour tenir le compte :
CREATE TABLE stats (
`key` varchar(50) NOT NULL PRIMARY KEY,
`value` varchar(100) NOT NULL);
Créez ensuite un événement pour mettre à jour le tableau :
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);
Ce n'est pas parfait, mais il offre une solution autonome (pas de tâche cron ni de file d'attente) qui peut être facilement adaptée pour s'exécuter aussi souvent que la fraîcheur requise du décompte.