Fix performance on instances list in admin UI (#15282)
- Reduce duplicate queries - Remove n+1 queries - Add accounts count to detailed view - Add separate action log entry for updating existing domain blocks
This commit is contained in:
parent
a3b5675aa8
commit
216b85b053
27 changed files with 331 additions and 171 deletions
17
db/views/instances_v01.sql
Normal file
17
db/views/instances_v01.sql
Normal file
|
@ -0,0 +1,17 @@
|
|||
WITH domain_counts(domain, accounts_count)
|
||||
AS (
|
||||
SELECT domain, COUNT(*) as accounts_count
|
||||
FROM accounts
|
||||
WHERE domain IS NOT NULL
|
||||
GROUP BY domain
|
||||
)
|
||||
SELECT domain, accounts_count
|
||||
FROM domain_counts
|
||||
UNION
|
||||
SELECT domain_blocks.domain, COALESCE(domain_counts.accounts_count, 0)
|
||||
FROM domain_blocks
|
||||
LEFT OUTER JOIN domain_counts ON domain_counts.domain = domain_blocks.domain
|
||||
UNION
|
||||
SELECT domain_allows.domain, COALESCE(domain_counts.accounts_count, 0)
|
||||
FROM domain_allows
|
||||
LEFT OUTER JOIN domain_counts ON domain_counts.domain = domain_allows.domain
|
Loading…
Add table
Add a link
Reference in a new issue