MySQL 5.1.6以降では、イベントスケジューラ> カウントを統計テーブルに定期的に挿入します。
まず、カウントを保持するテーブルを作成します:
CREATE TABLE stats (
`key` varchar(50) NOT NULL PRIMARY KEY,
`value` varchar(100) NOT NULL);
次に、テーブルを更新するイベントを作成します。
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);
完璧ではありませんが、必要なカウントの鮮度と同じ頻度で実行するように簡単に調整できる自己完結型のソリューション(cronジョブやキューなし)を提供します。