Build1 distinct publisher3 min readUpdated
A rebuilt WordPress rig tested 10.6.28 through 13.0.1-RC on identical data. Nearly every query difference was noise, and one UPDATE plan got twice as slow from 11.4 onward.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
A benchmark published on dev.to, originally posted on makewpfast.com, ran the same WordPress workload across six MariaDB releases: 10.6.28, 10.11.18, 11.4.12, 11.8.8, 12.3.2 and 13.0.1-RC [1]. That is five sequential hops [2], and according to the author the reason to take any of them is not speed but that 10.6 hit end of life on July 6, 2026 [3].
The rig is worth reading before the numbers. WordPress 7.1, PHP 8.4.24 and WooCommerce 11.0.1 were held constant [4], with stock server config and no buffer pool tuning, on the stated grounds that the question was what upgrading gives you rather than what tuning gives you [5]. The dataset was 1,000 posts, 200 WooCommerce products, 5,000 comments, 101 users and 7,798 postmeta rows [6], built once on 10.6, dumped, and imported into every version instead of reseeded per environment [7]. One server ran at a time to stop two instances fighting for CPU [8], and the whole suite ran twice with the second pass in reverse version order, so anything that did not appear in both passes was treated as noise [9].
Most of it was noise. Half the per-query percentage changes went the wrong way [10], and the largest single move, a 31.8 percent drop on WooCommerce product listing, was 0.12ms in absolute terms [11], which puts the baseline under 0.4ms [12].
The one result the author calls real is homepage throughput: 10.6 served roughly 7 to 13 percent fewer requests per second than 10.11 depending on concurrency, and came last at every concurrency level in both passes [13]. Because that deficit is measured against 10.11, the entire gain is banked at the first hop [14]. The finding reproduces the same author's March measurement on a rebuilt rig with different data and a different WordPress [15].
Two optimizer changes do almost all of the work, per the write-up: semi-join handling for UPDATE and DELETE, so a subquery in a DML statement is planned rather than re-run per row, and sargable date functions, so WHERE YEAR(post_date) = 2025 can use an index instead of scanning [16]. The widely circulated "40x faster UPDATE" demo uses a subquery matching zero rows, so it measures planning [17]; on this rig it came out at 70x [18]. The author then ran the same statement shape against subqueries that do match rows, 15 times each inside a transaction rolled back so every run starts from the same state [19]. Two variants were flat: where the updated table has a usable index, every version picks the same plan and runs at the same speed [20].
The fourth variant went backwards. 11.4 ran it about twice as slow as 10.11 and stayed twice as slow through 11.8, 12.3 and 13.0, reproduced on two separate rebuilds [21]. EXPLAIN shows 10.11 walking wp_postmeta in PRIMARY order, 7,761 rows, with a dependent unique_subquery into wp_posts [22], while 11.4 and later flip the driving table, find the 200 products via type_status_date, then perform ref lookups into postmeta at six rows each [23]. Fewer rows examined, more random access, and on this data the sequential scan wins [24]. In wall clock the author puts it at 4ms against 9ms [25].
He also states the limit: 7,798 postmeta rows sit entirely in the buffer pool, and on a table big enough that the scan hits disk the newer plan probably wins, which he has not tested [26].
So watch the untested half. Whether the 11.4 plan flip is a regression or a fix depends on postmeta tables large enough to fall out of memory, and nobody in this material has measured that [26]. Watch 13.0 too: the author's host already defaults to 12.3.2 with 13.0 sitting there as a release candidate [27], and the benchmark separates 10.6 from everything else and nothing else from anything [28].
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
In the per-query results across both passes, half of the percentage changes went the wrong way, which the author describes as what noise looks like.
The single largest per-query change, WooCommerce product listing at -31.8 percent, was 0.12ms in absolute terms.
A benchmark published on dev.to, originally published on makewpfast.com, tested MariaDB 10.6.28, 10.11.18, 11.4.12, 11.8.8, 12.3.2 and 13.0.1-RC under the same WordPress workload.
The author states MariaDB 10.6 hit end of life on July 6, 2026, and that the update is worth doing for that reason even though the 10.6 to 10.11 hop is not noticeable.
The test held constant WordPress 7.1, PHP 8.4.24 and WooCommerce 11.0.1 across all six MariaDB versions.
Stock configuration was used throughout, with no tuning and no buffer pool changes, because the author wanted to measure what upgrading gives rather than what tuning gives.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Well-documented single-rig benchmark, no external replication
Methodological rigour is above average for the genre: one server at a time, one dataset dumped and imported identically, two full passes in reverse version order, a declared TTFB noise floor of about 11.6 percent, Test D repeated on separate rebuilds, EXPLAIN output shown for the regression, and explicit refusal to extrapolate beyond a buffer-pool-resident dataset. What limits the score is that all of it comes from one self-published author, the result tables are referenced but not reproduced in the syndicated body, rig hardware is undescribed, and no independent party has reproduced the numbers.
Thin: one host-panel default plus a lifecycle deadline
Real but narrow adoption signal. The only deployment-side facts supplied are that the author's hosting panel now defaults to 12.3.2 with 13.0 as a release candidate, and that 10.6 passed end of life on July 6, 2026 — a forcing function for upgrades. There is no fleet, download, distribution or survey data on how many WordPress installs actually sit on each version, so nothing supports a higher reading.
Claims run slightly cooler than the evidence
The cluster's direction of travel is deflationary: it dismantles a widely circulated '40x faster UPDATE' figure as a zero-row planning test, labels most version-to-version deltas as noise, reports its own 70x result as an artefact rather than a win, and explicitly refuses to claim the Test D plan flip helps at disk-bound scale. The mild offset in the other direction is generalisation: a headline framing of 'only one upgrade actually does anything' rests on one small in-memory dataset and one workload shape, which the author concedes describes a single query shape rather than a whole plugin stack.
Content-marketing incentive, no vendor tie disclosed
The post is a cross-post from makewpfast.com, a WordPress performance property, distributed on dev.to — an audience-acquisition incentive that rewards contrarian, quotable benchmark framing. Origin is disclosed at the top of the body. No vendor sponsorship, MariaDB affiliation or hosting-provider relationship is claimed anywhere in the supplied material, and the conclusions cut against upgrade hype rather than selling a product, which keeps the reading moderate rather than high.
Directionally solid, numerically single-sourced
Confidence is capped by structure: one publisher, one author, one rig, and result tables not reproduced in the supplied body. It is lifted by internal replication (two reverse-order passes, a March run on different data, Test D repeated on separate rebuilds), a stated noise floor, EXPLAIN evidence for the one regression, and candid scope limits. The directional conclusions — end-of-life is the reason to move off 10.6, later-version query deltas are noise, one UPDATE shape regresses from 11.4 — are more trustworthy than any individual millisecond figure.
build
Block themes move who controls layout, not just how templates are written1 distinct publisher
build
Thirty lines of Doctrine filter, and the query paths where it is simply not there1 distinct publisher
build
Your Magento admin is slow because order state lives in fifteen tables, not because Varnish is off1 distinct publisher
build
PHP-FPM's dynamic pool is a one-second idle-worker loop, not a capacity plan1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 21, 2026