Features

Super Speedy Archives Add-on

Published · Last updated

On a large site, archive pages get expensive. Author archives, taxonomy and category archives, and filtered listings all have to work out which posts belong where, and by default that means large joins against wp_term_relationships and wp_posts. On a site with millions of rows those joins are slow, and they’re slow every time the page loads.

Super Speedy Archives, formerly Super Speedy Term Relationships, is an optional add-on for Scalability Pro. It maintains a pre-computed lookup table, an “object ancestors” table, that maps posts to their terms directly. Instead of resolving an archive through large joins at request time, the query reads from a single indexed table. That turns a heavy join into a fast, indexed lookup.

It installs as an add-on of Scalability Pro, or of Super Speedy Filters, and adds an Archives tab to Scalability Pro (or a section on the Performance tab of Super Speedy Filters). Once installed it builds its table in the background, so there’s nothing to sit and wait for. If you ever need to rebuild it, for example after a large data change, you can do that from the Archives tab or via WP-CLI.

This is aimed at very large sites with heavy author, taxonomy or filtered archive traffic. If those pages are a meaningful part of your traffic and the joins behind them are showing up as slow, this is what fixes it. Smaller sites won’t see the same benefit, because their joins are cheap enough already. Super Speedy Archives is available to download for customers with an active licence.

Best for
  • Very large sites (hundreds of thousands to millions of posts) where author, taxonomy or filtered archives are a real part of the traffic
  • Sites where the term-relationship joins behind those archives already show up as slow when you profile your pages
  • Stores running Super Speedy Filters that need faceted listings to resolve from an index rather than a join
Why this matters

The pre-computed table wins because it replaces a join at request time with a lookup that is already done. The cost of resolving posts-to-terms is paid once when the table is built (in the background) and then amortised across every archive page load, instead of being recomputed on each request.

Note

Because the table is a cache of the term relationships, it has to be rebuilt after a large data change (a big import, a bulk re-term). You can trigger a rebuild from the Archives tab or via WP-CLI, so schedule one after any bulk operation that moves posts between terms.

In short: archive and filtered listing pages are slow on large sites because they join wp_term_relationships against wp_posts on every load. Super Speedy Archives maintains a pre-computed object ancestors table so those pages resolve from one indexed table instead. It adds an Archives tab, builds in the background, and is best suited to very large sites with heavy archive traffic.

Further reading

the built-in archive tuning that comes before you reach for the add-on
the query-level fix for the same expensive join pattern
add indexes so the joins you keep still run fast

Comments

▲
▼
1/1