Optimize the query for Group and Repository.objects.accessible_ids().
Review Request #11605 — Created May 12, 2021 and submitted — Latest diff uploaded
This is a small query improvement to
accessible_ids()
that removes
the usage ofDISTINCT
when querying a list of accessible IDs for
Group
andRepository
. This means less work needed by the database,
removing the usage of a temporary table on MySQL. Any de-duplication
will now be done in Python, by converting to aset
first.It's a small performance improvement setting the stage for some larger
work on improving query performance.Both versions of
accessible()
still usesDISTINCT
by default, but
this can be turned off by passingdistinct=False
.
Unit tests passed.
Compared the
EXPLAIN
output between the two versions of the query
on MySQL