Use a counter cache!