Barry Warsaw pushed to branch release-3.0 at mailman / Mailman
Commits: 727f1e12 by Aurélien Bompard at 2015-11-22T22:07:07Z Optimize the roster SQL query Measured improvement: about 100x faster. (!) Reformatting. - - - - - 1 changed file: - src/mailman/model/roster.py Changes: ===================================== src/mailman/model/roster.py ===================================== --- a/src/mailman/model/roster.py +++ b/src/mailman/model/roster.py @@ -286,9 +286,11 @@ class Memberships: @dbconnection def _query(self, store): results = store.query(Member).filter( - or_(Member.user_id == self._user.id, - and_(Address.user_id == self._user.id, - Member.address_id == Address.id))) + Member.user_id == self._user.id + ).union( + store.query(Member).join(Address).filter( + Address.user_id == self._user.id) + ) return results.distinct() @property View it on GitLab: https://gitlab.com/mailman/mailman/commit/727f1e12dc7fccbf72a4a82a14f7c1ff77b0bb29
_______________________________________________ Mailman-checkins mailing list Mailman-checkins@python.org Unsubscribe: https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org