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語句

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