mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix: drop N+1 db query on template ACL available (#25465)
Fixes [PLAT-149](https://linear.app/codercom/issue/PLAT-149/template-permissions-search-is-extremely-slow-with-many-groups). `/acl/available` ran a db query per group. A deployment with >5,000 groups made this route extremely slow.
This commit is contained in:
@@ -78,6 +78,15 @@ WHERE
|
||||
groups.id = ANY(@group_ids)
|
||||
ELSE true
|
||||
END
|
||||
-- Filter by group name or display name (substring, case-insensitive).
|
||||
AND CASE WHEN @search :: text != '' THEN (
|
||||
groups.name ILIKE concat('%', @search, '%')
|
||||
OR groups.display_name ILIKE concat('%', @search, '%')
|
||||
)
|
||||
ELSE true
|
||||
END
|
||||
-- A limit of 0 means "no limit".
|
||||
LIMIT NULLIF(@limit_opt :: int, 0)
|
||||
;
|
||||
|
||||
-- name: InsertGroup :one
|
||||
|
||||
Reference in New Issue
Block a user