Opened 9 years ago
Last modified 3 years ago
#11826 new enhancement
Optimize ticket.query.execute — at Version 1
Reported by: | anonymous | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | next-major-releases |
Component: | query system | Version: | 1.1.2 |
Severity: | minor | Keywords: | performance |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description (last modified by )
The ticket.query.execute function could be optimised somewhat…
if self.max == 0: self.has_more_pages = False self.offset = 0 else: self.has_more_pages = True self.offset = self.max * (self.page - 1)
source:trunk/trac/ticket/query.py?rev=13234#L110
self.num_items = self._count(sql, args) if self.num_items <= self.max: self.has_more_pages = False if self.has_more_pages:
source:trunk/trac/ticket/query.py?rev=13234#L295
if self.max = 0 this: self.num_items = self._count(sql, args)
is useless since if self.has_more_pages:
will always be False.
So I suggest adding something like:
if self.has_more_pages: // This line self.num_items = self._count(sql, args) if self.num_items <= self.max: self.has_more_pages = False if self.has_more_pages:
That would save one sql-query which in worst case scenario could double(?) the execution time I suppose
Note:
See TracTickets
for help on using tickets.