- Compatible XF Versions
- 2.0, 2.1, 2.2
- Visible Branding
- No
- Additional Requirements
- php 7.0+
- Link XF Versions
- XF2.1: https://enxf.net/resources/optimized-list-queries-by-xon.834/version/4755/download
This addon is aimed at large forum with tens of thousands to hundreds of thousands or more threads in a single forum. Smaller forum do not gain much benefit from this add-on.
Member List/Forum/conversation lists:
MySQL implements 'early row lookup', when combined with LIMIT & OFFSET with a large offset, results in the large select statement pulling in more data than is required. Maybe one day MySQL will fix this. Maybe.
This causes an issue as this how conversations and threads implement paging.
This addon provides some optimized query for getting threads in a forum with large number of threads, or for conversations with a veryhigh page count.
Ideally conversations would implement the position system like posts do, which would be even faster than using sub-selects to force 'late row lookup'.
For more information see:
Under "Performance":
Contributing features or bug fixes
Please create a Github Pull request via the "More Information" link.
Member List/Forum/conversation lists:
MySQL implements 'early row lookup', when combined with LIMIT & OFFSET with a large offset, results in the large select statement pulling in more data than is required. Maybe one day MySQL will fix this. Maybe.
This causes an issue as this how conversations and threads implement paging.
This addon provides some optimized query for getting threads in a forum with large number of threads, or for conversations with a veryhigh page count.
Ideally conversations would implement the position system like posts do, which would be even faster than using sub-selects to force 'late row lookup'.
For more information see:
- http://stackoverflow.com/questions/4481388/why-does-mysql-higher-limit-offset-slow-the-query-down
- http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/
Under "Performance":
Contributing features or bug fixes
Please create a Github Pull request via the "More Information" link.