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 45549 « Previous | Next »
MySQL Shorts - Episode 106 - MySQL LAG() Window Function for Comparing Sales Data

MySQL's LAG() window function helps you compare sales totals across rows and calculate changes between consecutive records. See how to retrieve previous row values, order sales data by date, and calculate sales differences using the LAG() function in MySQL: https://dev.mysql.com/doc/refman/26.10/en/window-function-descriptions.html#function_lag

Introducing Percona Database Service (PDS): An Experiment in Simplifying Database Management

It’s Thursday afternoon, and a developer has an idea.

Nothing complicated. They are working on a new application feature and want to test an idea before committing to a larger implementation. A quick prototype is already running locally. So far, so good. Next, they want to deploy the application to a shared environment so their colleagues can try it out. The application needs a database too, but it needs to be accessible from the shared environment, not just their laptop. And that’s where things get more complicated.

Now they need to submit a request to the infrastructure team, wait for an environment to be provisioned, or spend the afternoon working through Kubernetes configurations. What should have been a quick experiment becomes another task on somebody else’s backlog.

This is a common problem for engineering teams. Getting a database running in a shared environment shouldn’t require extensive coordination or …

[Read more]
Git commits on MySQL tree, impact by AI

How Oracle changed the future of MySQL: Dominic Preuss on Inside the Silicon Mind

Shopify, GitHub, and Uber run on MySQL, yet, as Dominic Preuss puts it, the hype, innovation, and investment historically went to PostgreSQL. Inside the Silicon Mind published Firas Sozan's interview with Dominic, co-founder and CEO of VillageSQL, about why that happened, what Oracle is doing to address it, and how VillageSQL plans to bring innovation back to MySQL.

Dominic covers how MySQL went from a Swedish startup to Oracle, why Oracle is now opening MySQL development to the community, including AWS and Google, and why he started a company on MySQL when everyone was running in the direction of PostgreSQL.

Watch more VillageSQL talks on the Talks page, or get started at villagesql.com.

MySQL Community Spotlight - Omar Farhat

Omar shares how he got started with MySQL, his experience at the contributor summit, and his enthusiasm for replication performance, extensibility, and data interoperability.

Heavy MySQL Reports in Seconds: Open Source HTAP with DBTrail and Percona Server for MySQL

In Part 1 we ran analytical reports in DuckDB on a DBTrail copy instead of on MySQL. This time I want to look at a different question: what if the application does not need to know the copy exists?

Most MySQL servers have a few queries that make someone wait. The monthly report that aggregates a whole table. Page 5,000 of a sorted list. The screen that reads years of history. MySQL is built for many small reads and writes, and these queries are a different kind of work.

So what happens to them with DBTrail next to the server? The same 14 reports ran for a day on a Percona Server for MySQL replica and on the copy of the same database that DBTrail keeps.

Short answer: twelve were faster on the copy, and the slowest went from 225 seconds to 7.94 seconds.

Not …

[Read more]
Diagnosing MySQL at Scale (Part 2): Storage Subsystems, Buffer Pool Latches, and Memory Spills

In transactional database systems, the latency gap between memory access (tens to hundreds of nanoseconds) and persistent storage access (tens to hundreds of microseconds for local NVMe devices and milliseconds for remote cloud block storage such as Amazon EBS) spans multiple orders of magnitude. Once a workload exhausts available memory and begins interacting heavily with storage, query response times can deteriorate rapidly.

However, storage-related performance problems in MySQL are rarely solved by simply adding IOPS. In many production incidents, latency originates within the database engine itself:

  • Redo-log checkpoint advancement falling behind incoming write velocity, forcing foreground transactions to participate in synchronous flushing activity ("sync flush").
  • Doublewrite buffering increasing write amplification, contributing to storage-pressure events and …
[Read more]
Vector search in MySQL: from a plugin to the top of the Contributor Summit agenda

A plugin started the fire, the M-ecosystem picked it up, the hyperscalers went native, and now the benchmark wars have begun.

Not long ago, if you asked about vector search in MySQL, you got a polite smile and a link to pgvector. Even after MySQL 9 added a VECTOR column type, the obvious next questions had no answer. Where is the index? Where is the distance function? For a while the honest answer was “use something else.”

This week the MySQL Contributor Summit (Nov 4–5, online) opened its technical program with vector search. The first discussion block, AI & Cloud, had four vector and AI proposals back to back from Oracle, Google, Percona and Intel. It was the clearest sign yet of how far vector search in MySQL has come.

Looking back, vector …

[Read more]
MySQL Ecosystem Project Spotlight of the Week - ProxySQL

This week, we're highlighting ProxySQL. As applications grow, so do the demands on MySQL. ProxySQL helps developers and DBAs manage database traffic through connection pooling, query routing, and load balancing, providing greater control over how applications connect to MySQL.

Diagnosing MySQL at Scale (Part 1): Critical System Blocks, Metadata Locks, and Cluster Convoys

High-concurrency database workloads rarely fail because of simple CPU or disk capacity limits. Instead, performance collapses occur when transactions serialize on shared internal database resources: metadata locks, data dictionary latches, group communication certification queues, and network buffers.

When contention occurs, external monitoring dashboards often show deceptive metrics such as near-zero CPU and disk activity alongside a massive surge in active connections and application timeouts. MySQL exposes these internal contention points through Performance Schema wait events.

This article—the first in a four-part deep dive—covers the foundational mechanics of Performance Schema wait telemetry, the governance of instrumentation overhead in high-throughput environments, and the diagnosis of Critical System Blocks: Metadata Locks (MDL), Data Dictionary latch serialization, and Group Replication Flow-Control stalls.

…

[Read more]
« Previous | Next »