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 ofDISTINCTwhen querying a list of accessible IDs for
GroupandRepository. 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 asetfirst.It's a small performance improvement setting the stage for some larger
work on improving query performance.Both versions of
accessible()still usesDISTINCTby default, but
this can be turned off by passingdistinct=False.
Unit tests passed.
Compared the
EXPLAINoutput between the two versions of the query
on MySQL