-
Notifications
You must be signed in to change notification settings - Fork 322
Open
Description
The Admin API user listing (FindUsersInAudience in models/user.go) uses Pop's built-in Paginate() which does SELECT COUNT(*) + SELECT ... LIMIT OFFSET. This doesn't scale well for large user tables.
Related concerns:
- The
COUNT(*)query is expensive on large tables - MySQL may choose suboptimal indexes for different
instance_idvalues — index hints are not supported through Pop's query builder - The filter query uses
LIKEwith wildcards on a JSON column withCOLLATE, which can't use indexes effectively - Consider cursor-based pagination or removing pagination entirely if clients don't need total counts
Moved from CI 25, 26, 27
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels