1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Optimized List Queries by Xon 1.2.3b

A collection of replacement queries for getting lists of stuff aimed at large forums.

  1. Xon
    Compatible XF Versions:
    • 1.4
    • 1.5
    License:
    MIT Licence
    Visible Branding:
    No
    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.

    Node List Caching:

    As the number of forum nodes grow, the front page will take longer to compute the node tree for rendering. This allows caching of the node list for members/guests for either just the root-node or any node with sub-nodes.

    Members Online list:

    This add-on introduces a faster 'members online' list designed to scale well to thousands of users online. However, this will not show users who are not staff or not followed in the list.

    This lost of functionality may be undesirable so can be configured under the Performance options configuration.

    Note; converting the xf_session_activity table from MEMORY to InnoDB is likely a good idea if you want to use the Members Online query tuning. As MEMORY table has MyISAM locking behaviour, and this causes lock escalations when joins touch the a MEMORY table.

    Forum/conversation/Likes Received 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 is how likes, 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 very high 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:
    Configuration
    Under "Performance":
    options.png

    Installation

    I recommend using Add-on install & upgrade or [TH] Install and Upgrade to install this addon.

    Contributing features or bug fixes
    Please create a Github Pull request via the "Find more info at github.com..." link.

    Contibutions

    If you appreciate this addon, please consider a contribution via PayPal. Details will be provide via private conversation.

    Please contact me if you wish for different licencing arrangements.
    Daniel Hood, Jarod, Fuhrmann and 12 others like this.

Recent Updates

  1. Maintenance Update
  2. Bugfix release
  3. Feature update release

Recent Reviews

  1. semprot
    semprot
    5/5,
    Version: 1.2.3b
    It works for 1.5.11. Although i never observe the difference in server load. Thank you for the add on.
  2. lazy llama
    lazy llama
    5/5,
    Version: 1.1.1
    Another great addon from @Xon. If you have really large threads or conversations on your board this addon improves performance when those threads/conversations are accessed.
    If you have many hundreds of users online at one time, the Online User enhancement will reduce load on your system considerably.
  3. nrep
    nrep
    5/5,
    Version: 1.0.1
    Huge improvements on my forum from using this addon, page rendering times down an order of magnitude on large forum list pages. Great for large sites.