mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-08 04:16:03 -05:00
[PR #21153] [CLOSED] Update groups.py #41579
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/21153
Author: @ylwy0178-ctrl
Created: 2/4/2026
Status: ❌ Closed
Base:
main← Head:bugfix/get_all_group_query_optimization📝 Commits (1)
e2ea4a7Update groups.py📊 Changes
1 file changed (+30 additions, -17 deletions)
View changed files
📝
backend/open_webui/models/groups.py(+30 -17)📄 Description
Optimize database queries: Replace N+1 queries with single aggregated queries in get_groups() and search_groups()
Convert get_groups() to use LEFT OUTER JOIN with GroupMember and COUNT aggregation instead of making individual get_group_member_count_by_id() calls per group
Convert search_groups() to use same optimization with aggregated member counts while maintaining pagination (offset/limit) and all filtering logic
Use func.count(GroupMember.id) with group_by(Group.id) to collapse joined rows and retrieve member counts in single query execution
Eliminates N database round-trips (where N = group count) and reduces to 1 query
Performance improvement: O(N+1) → O(1) database queries for group retrieval operations
Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.