0
0
Fork 0

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:
Eugen Rochko 2020-12-14 09:06:34 +01:00 committed by GitHub
parent a3b5675aa8
commit 216b85b053
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 331 additions and 171 deletions

View 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