为了开发便捷度,取消了帖数统计。 以前每 - Assbbs

为了开发便捷度,取消了帖数统计。 以前每次发帖、回复、删除等操作,都会更新统计表。 这样维护麻烦,且若统计错误,会造成分页异常。 最关键的问题,举例来说: 用户C删号,那么要更新他回复过的所有帖子,让它们回复数-1。 如果C有上百万条回复,会产生几百万条子查询,导致系统崩溃。 目前版本直接使用窗口函数 COUNT  OVER 做…

为了开发便捷度,取消了帖数统计。 以前每次发帖、回复、删除等操作,都会更新统计表。 这样维护麻烦,且若统计错误,会造成分页异常。 最关键的问题,举例来说: 用户C删号,那么要更新他回复过的所有帖子,让它们回复数-1。 如果C有上百万条回复,会产生几百万条子查询,导致系统崩溃。 目前版本直接使用窗口函数 COUNT  OVER 做统计。 缺点是不再有回复数量统计,小论坛也没啥用。 优点是实时统计精准无差错,程序逻辑更简单。 分页统计时已经做全量扫描,后续OFFSET也不再需要二次扫描。 页数较大的情况下,实际性能差别并不大,页数较小时也有查询缓存。 性能损耗是不大的,数据量也没到做优化的程度,目前先以开发便利为主。