Eliminate JOINs when counting starred objects using LocalSite.ALL.

Review Request #12349 — Created June 9, 2022 and submitted — Latest diff uploaded

Information

Review Board
release-5.0.x

Reviewers

This improves performance of starred review group and review request
counting when using LocalSite.ALL. Since we don't need to filter by
any Profile state in this case, we can simplify things by querying the
through table the starred items, filtering by the Profile's ID.

This is much faster, as we don't need to JOIN any tables and the
database can more easily leverage the existing indexes.

Upcoming changes to use LocalSite.objects.has_local_sites() will allow
us to short-cut the queries further in the common case of no Local
Sites, avoiding the JOINs on the majority of servers.

Unit tests pass.

Commits

Files