PostgreSQL
查询
count(*)
,直接执行也不赖?
在关系型数据库中,执行
一类的
查询
时,难免会出现执行时间长的情况。那么,有什么可以优
化改进的方法吗?
介绍
只有在我们从数据库的角度理解了原始的估计值后,基
于估计值的解决方案才有用。如果我们需要一个精确时间
点的精确计数怎么办?如果预先知道时间(例如,每天上
午
点),我们可以采用专用数据结构,预先计算出计数。
在读取密集型的环境中,只有很少的修改和写入的情况
下,这种方法可以加快
查询的速度,
由于写入很少,更新聚合数据的开销将会最小。例如,如
果我们按天对
表进行分区,我们可以对前一天的所
有分区执行聚合计数,因为它们不会发生任何更新
删除。
在 分 析 聚 合 之 前 , 让 我 们 使 用 下 面 的
, 给
表填充更多数据:
!"#$%!
"#%!%&
''(() *++,-../%!
0) 1,-../%!
) 2,-../%
34-%$''
相关文档
评论