Ну, получается, надо запросами пересчитывать всё? Типа, сначала пересчитать сообщения пользователей: UPDATE ibf_core_members m LEFT JOIN ( SELECT author_id, COUNT(*) as posts FROM ibf_forums_posts WHERE queued = 0 GROUP BY author_id ) z ON m.member_id = z.author_id SET m.member_posts = IFNULL(z.posts, 0); Потом пересчитать сообщения в темах: UPDATE ibf_forums_topics t LEFT JOIN ( SELECT topic_id, COUNT(*) as posts FROM ibf_forums_posts WHERE queued = 0 GROUP BY topic_id ) z ON z.topic_id = t.tid SET t.posts = IFNULL(z.posts, 0); Потом уже темы и сообщения: UPDATE ibf_forums_forums f LEFT JOIN ( SELECT forum_id, COUNT(*) as topics, SUM(posts) as posts FROM ibf_forums_topics GROUP BY forum_id ) z ON z.forum_id = f.id SET f.topics = IFNULL(z.topics, 0), f.posts = IFNULL(z.posts, 0); И чего, все таким пердолингом занимаются, кто в БД залез или есть путь достойней?