1
0

optimize stats using "materialized view"

This commit is contained in:
2025-07-07 09:16:52 +02:00
parent 1e291882a6
commit be3023f55d
8 changed files with 31 additions and 58 deletions

View File

@@ -19,32 +19,17 @@ select
-- total Users
select
'Users' as title
, (select sum(users) from ( SELECT
instance_id,
users,
MAX(insertedAt)
FROM stats
GROUP BY instance_id)) as value
, (SELECT u FROM day_stats order by j desc limit 1) as value
;
-- total Groups
select
'Groups' as title
, (select sum(local_groups) from ( SELECT
instance_id,
local_groups,
MAX(insertedAt)
FROM stats
GROUP BY instance_id)) as value
, (SELECT g FROM day_stats order by j desc limit 1) as value
;
-- total Events
select
'Events' as title
, (select sum(local_events) from ( SELECT
instance_id,
local_events,
MAX(insertedAt)
FROM stats
GROUP BY instance_id)) as value
, (SELECT e FROM day_stats order by j desc limit 1) as value
;
----- over time ----
@@ -62,13 +47,7 @@ select
--, 5 as marker
, TRUE as time
;
SELECT
count(instance_id) as y
, insertedAt as x
, insertedAt / (3600*24) as j
FROM stats
GROUP BY j
order by j
SELECT i as y, x FROM day_stats
;
-- users
select
@@ -79,13 +58,7 @@ select
--, 5 as marker
, TRUE as time
;
SELECT
sum(users) as y
, insertedAt as x
, insertedAt / (3600*24) as j
FROM stats
GROUP BY j
order by j
SELECT u as y, x FROM day_stats
;
-- events
select
@@ -96,13 +69,7 @@ select
--, 5 as marker
, TRUE as time
;
SELECT
sum(local_events) as y
, insertedAt as x
, insertedAt / (3600*24) as j
FROM stats
GROUP BY j
order by j
SELECT e as y, x FROM day_stats
;
-- groups
select
@@ -113,11 +80,5 @@ select
--, 5 as marker
, TRUE as time
;
SELECT
sum(local_groups) as y
, insertedAt as x
, insertedAt / (3600*24) as j
FROM stats
GROUP BY j
order by j
SELECT g as y, x FROM day_stats
;