# 聚合操作解决方案 (继续...)

+ 表中的数据经常被修改
  + 统计表实现
    + 设计简单
    + 适用于数据时效性不高的情况
  + 使用缓存计数器
    + 实时性比较好
    + 需要引入缓存机制，例如：**Redis**，容易产生与数据库数据不一致的情况
------------------------------------------------------------
第二种情况，如果我们的表 DML 比较频繁，那推荐下面两种优化手段：

一、使用统计表，如果对统计数据时效性要求不高，可以定期进行统计后，将统计结果放到统计表中，后续请求直接从统计表查询结果就好，这样就避免了多个并发去明细表做并发count，将数据库压垮的风险。这个方案优点是：架构和实现简单，缺点是：时效性不高

二、使用缓存计数器，比如 Redis 的计数器，每次写入数据库数据后，更新缓存计数器，这样直接去缓存查询结果即可。该方案优点是：结果相对比较准确，缺点是：缓存和 DB 可能存在不一致，引入了 Redis, 架构相对复杂。
