すべての夜、
アプリケーションの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を提供できますか?
私の設計の仮定に何か問題がある場合は、私に知らせてください!