为了开发便捷度,取消了帖数统计。

以前每次发帖、回复、删除等操作,都会更新统计表。

这样维护麻烦,且若统计错误,会造成分页异常。

最关键的问题,举例来说:

用户C删号,那么要更新他回复过的所有帖子,让它们回复数-1。

如果C有上百万条回复,会产生几百万条子查询,导致系统崩溃。

目前版本直接使用窗口函数 COUNT(*) OVER 做统计。

缺点是不再有回复数量统计,小论坛也没啥用。

优点是实时统计精准无差错,程序逻辑更简单。

分页统计时已经做全量扫描,后续OFFSET也不再需要二次扫描。

页数较大的情况下,实际性能差别并不大,页数较小时也有查询缓存。

性能损耗是不大的,数据量也没到做优化的程度,目前先以开发便利为主。

C
1