Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 1 to 10 of 22588 « Previous | Next »
Displaying posts with tag: MySQL (reset)
MySQL JSON Duality Views: Now with granular write and ETAG controls

JSON Duality Views (JDVs) let applications read and write JSON documents backed by relational tables (see our introductory JDV blog). MySQL handles the document-to-table mapping, reducing application code while preserving relational integrity. We still need to decide which parts of a document applications can change. Earlier JDVs offered limited choices: table writes were generally all-or-nothing, and […]

Troubleshooting MySQL with OpenTelemetry Metrics

In the first post, we exported native MySQL telemetry to Prometheus. In the second, we organized those metrics around DBA questions. In the third, we built a Grafana dashboard that makes those questions visible. This final post shows how to use that dashboard when an application slows down or a database signal changes. The goal […]

Upgrading MySQL HeatWave High Availability from MySQL 8.0.46 to MySQL 8.4 LTS

Planning, compatibility testing, performance validation, application readiness, and rollback strategies for a large production deployment MySQL 8.0 reached its official End of Life (EOL) in April 2026 alongside the final release of version 8.0.46, but specific support extensions are available depending on your hosting environment.  Oracle extended support for MySQL 8.0 instances in MySQL HeatWave […]

When a Small Change Writes Too Much – How A Linux Kernel Improvement Can Strike You in PXC/Galera Workloads

We’ve recently been dealing with an interesting customer case where a PXC version upgrade from 5.7 to 8.0 seemed to trigger a completely unexpected problem. Even though the workload and MySQL settings did not change, all PXC members began exhibiting sparse but regular bursts of massive disk writes. Yet the MySQL side workload statistics that we gathered during those bursts did not explain the volume of them at all!

Analyzing these bursts further with pidstat and iostat confirmed that the mysqld process was indeed the sole source of excessive disk writes, and digging further showed the responsible threads to be the Galera receiver thread responsible for subscribing to the replication stream, as well as the main connection threads on the writer node, or Galera applier …

[Read more]
Just Because You Can SELECT Everything Doesn’t Mean You Should

Last week, I shared a meme in the MySQL Group on LinkedIn about using SELECT * in MySQL queries. Today, I’m backing up the punchline with something every joke desperately needs: a technical explanation. We’ve all written queries like this: It’s quick. It’s convenient. It lets you postpone remembering whether the column is called customer_name, […]

JavaScript in MySQL: Extending SQL, Not Moving the Application

At Percona Live Europe 2026, Dmitry Lenev and I presented JavaScript in My Database? Over My Dead Query, the story of component_js_lang, the V8-based JavaScript engine for Percona Server for MySQL 8.4. That experience told us few things:

  • The presentation was seen as “for developers”
  • What most DBA or DevOps heard was “JavaScript in the database” = “application logic in the database”

This let most of the people pictured developers shipping their business logic into stored procedures. Order workflows, pricing rules, REST calls, all running inside mysqld. 

That picture is wrong, and in this post I want to replace it with the right one, using the same four demos we showed on stage.

The fear is reasonable, the target is wrong

DBAs have earned their skepticism. Many of us have inherited a schema where thousands of lines of stored …

[Read more]
JavaScript in MySQL: Extending SQL, Not Moving the Application

At Percona Live Europe 2026, Dmitry Lenev and I presented JavaScript in My Database? Over My Dead Query, the story of component_js_lang, the V8-based JavaScript engine for Percona Server for MySQL 8.4. That experience told us few things:

  • The presentation was seen as “for developers”
  • What most DBA or DevOps heard was "JavaScript in the database" = "application logic in the database"

This let most of the people pictured developers shipping their business logic into stored procedures. Order workflows, pricing rules, REST calls, all running inside mysqld. 

That picture is wrong, and in this post I want to replace it with the right one, using the same four demos we showed on stage.

The fear is reasonable, the target is wrong

DBAs have earned their skepticism. Many of us have inherited a schema where thousands of lines of stored procedures …

[Read more]
Visualizing MySQL Telemetry with Grafana

In the first post, we exported MySQL OpenTelemetry metrics directly to Prometheus. In the second, we used DBA questions to decide which metrics matter. This post turns those questions into a Grafana dashboard. The objective is not to display every available metric. It is to make the next investigation obvious. When workload changes, a DBA […]

Announcing VillageSQL Server 0.0.7

We are pleased to announce the launch of VillageSQL Server 0.0.7. You now have a License to Query (please note this post contains lots of James Bond 007 database puns). In this release, the mysql-8.4 build tracks MySQL Server 8.4.11, the mysql-9.7 build tracks MySQL Server 9.7.2, and the percona-8.4 build carries Percona Server 8.4.11-11.

Highlights of this release include the following:

  • The server can now describe a custom index, store its data, report it, and run a nearest-neighbor search through it. This is the foundation of custom indexing and vector search we demoed at Percona Live Amsterdam 2026.
  • CLONE now checks that the recipient has your extensions before it copies anything.
  • An extension can give every connection its own copy of a setting.
  • …
[Read more]
How fast is vector search inside MySQL?

Benchmarks · HNSW vector search

MyVector adds approximate nearest-neighbor search to stock MySQL — no separate vector database. We put it on identical hardware across three MySQL versions, added MariaDB’s native vector type as a reference, and measured build time, throughput, latency, and recall on the same data.

askdba/myvector · live dashboard at bench.myvector.online

548peak ANN queries/sec (MySQL 9.7), ~1.8 ms median 0.95best recall@10 (MariaDB 12.3) once tuned 4×engines, one 50k×128 workload, identical 4 vCPU / 24 GB slices

Why benchmark this at all

Vector search usually means standing up a dedicated database next to your primary store, then keeping the two in sync. MyVector takes the other path: it lives inside MySQL as UDFs and stored procedures, builds an HNSW index over a column of vectors, and answers …

[Read more]
« Previous | Next »