0

晚报所有,PostgreSQL的记录日常统计

我试图创建一个存储系列Web使用统计信息我每天都在应用程序(琐碎的事情一样,没有表。新的用户和总访问次数等。 ),我目前正在查询这些内容,但是现在我想开始将它们部分存储用于性能(将聚合查询的负载减少为单个查找),部分用于历史分析。

我已经拿出遵循的基本架构表(会有更多的列比这个,只给一个想法)

create table web_stats(
    web_stat_id bigserial primary key, 
    date_created timestamp not null default now(), 
    user_count integer not null, 
    new_user_count integer not null 
); 
comment on table web_stats is 'Table stores statistics on web usage'; 

现在,我很高兴地创建查询来填充(我正在使用Quartz调度器来每天运行查询)

但是我不太确定回顾过去日期填充表的最佳方式,我应该使用INSERT语句为每个行创建一个空行自应用程序上线(大约2年前)后的第二天,然后使用UPDATE填充空白行?或者这可以一举完成?有人可以提供一些SQL来创建行吗?

如果我的设计假设有任何问题,请让我知道!

回答

0

这是我最后只是

INSERT INTO web_stats (date_created) 
    SELECT DATE('2011-08-20')+x.id 
    FROM generate_series(0,521) AS x(id); 

在哪里2011-08-20是应用程序正式上线的日期,以及521的天数从现在到那时

这将创建空表,以便我可以使用date_created字段填充其他字段使用UPDATE语句

也许不是最有效的方法,但它的工作原理