optimize stats using "materialized view"
This commit is contained in:
@@ -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
|
||||
;
|
||||
|
Reference in New Issue
Block a user