An ORM migration ran DROP TABLE tenant_usage at 11:20 on a Tuesday. Our delayed replica, six hours behind by configuration, still had the table and every write from that morning. The recovery took forty minutes and cost zero data. Here…
Database Topic Archive
MariaDB Articles
Galera clustering, InnoDB and Aria internals, replication, optimizer behavior, and MariaDB operations notes.
The report query took 40 ms every day except Mondays, when it took 41 seconds. EXPLAIN showed the identical plan both days. ANALYZE showed the truth: one node estimated 900 rows and actually read 1.8 million of them on Monday's…
The same ALTER TABLE ADD COLUMN finished in 120 milliseconds on staging and ran for nearly four hours in production. The difference was not the table, the data, or the hardware — it was the MariaDB version and its instant-DDL…
One tenant held 60% of a 480-million-row events table and the optimizer kept planning for a world that did not exist. MariaDB's engine-independent histograms fixed it — here is how they are stored, collected, and when they lie.
Every ninety seconds the whole Galera cluster froze for two to four seconds, and the slow query log was empty. wsrep_flow_control_paused was climbing because one node applied writesets slower than the cluster delivered them. Here is the full diagnosis.
We moved a 190-million-row nightly-rebuilt lookup table from InnoDB to Aria and cut the rebuild from 2 h 10 m to 34 minutes — until one kernel panic turned crash recovery into a 47-minute repair job.
An eighteen-second JSON_EXTRACT scan dropped to single-digit milliseconds with one generated column and one index. VIRTUAL vs PERSISTENT, the real indexing rules, and the replica determinism caveats nobody mentions.
One SET GLOBAL gives MariaDB per-account, per-client, per-table, and per-index counters — enough to answer 'who is hammering this table' in a single query. Here is what userstat collects, what it costs, and where the unused-index caveats hide.
MariaDB ships a real thread pool in the community server — MySQL charges extra for one. Here is how pool-of-threads works, when it saves you under a connection storm, and when it quietly serializes you.
MariaDB's system-versioned tables keep row history automatically — no triggers, no shadow tables. How FOR SYSTEM_TIME works, what storage growth really costs, and the limitations worth knowing first.