回答編集履歴

3

追記

2019/10/11 15:32

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -1,4 +1,6 @@
1
1
  24時間固定部分は、[generate_series](https://www.postgresql.jp/document/9.5/html/functions-srf.html)を用いて生成します。
2
+
3
+ まあ、24個程度であれば、そんなに手間でもないですからvaluesでも良いですけど。
2
4
 
3
5
  それを集計データと直積(cross join)して、配列に畳む際にcaseにて有効値を優先します。
4
6
 

2

追記

2019/10/11 15:32

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -74,6 +74,12 @@
74
74
 
75
75
  実環境があるわけではないですし、コストまで求められても困りますけどね。
76
76
 
77
+ 速さの調整は上記SQLではstep1内が如何に早くなるかです。
78
+
79
+ (user_id, item_id, datetime, value)のインデックスがあればインデックスonlyで済むかもしれません。
80
+
81
+
82
+
77
- 項目名はデータ型と被らないように命名した方が良いですね。
83
+ それから、項目名はデータ型と被らないように命名した方が良いですね。
78
84
 
79
85
  メンテナンス時に検索などで困りますし。

1

追記

2019/10/11 10:11

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
  ```
74
74
 
75
- コストまで求められても困りますけどね。
75
+ 実環境があるわけではないですし、コストまで求められても困りますけどね。
76
76
 
77
77
  ※項目名はデータ型と被らないように命名した方が良いですね。
78
78