Here is part two of my MySQL with Diagrams series (Here’s part one – MySQL with Diagrams Part One: Replication Architecture). We are going to explore how MySQL handles thread termination using the KILL command, as visualized in the provided diagram, and provide sample demonstrations to help you better understand. Many people think they know […]
Did you ever need to determine the performance of a query over time? One of the problems with database query optimizations is that the underlying data is always churning. Add in an increase in the number of users, expanding server demand use, and other items that impact your query. What was optimized is no longer performing as expected.
MySQL added a JSON format option to the output of the EXPLAIN command quite a while ago. More recently, Oracle added the feature of saving the output into a variable (see https://dev.mysql.com/doc/refman/9.0/en/mysql-nutshell.html and https://dev.mysql.com/blog-archive/explain-into-and-explain-for-schema-in-mysql-81-and-82). This provides a way to access the data in that variable and plop it into a database. The saved result can be compared to current or other past responses for analysis.
mysql> explain format=json into @var
SELECT * from …
At Percona, we’ve always prioritized performance, and recent trends in MySQL’s development have been a point of concern for us. In particular, the performance deterioration in the MySQL 8.4.x and 9.y versions caught our attention, as highlighted in Marco Tusa’s insightful blog post, Sakila, Where Are You Going? We’re pleased to report that the latest […]
Used to be that replication lag was as simple as
Seconds_Behind_Master
(renamed to
Seconds_Behind_Source
). But with multi-threaded
replication (MTR) this is no longer the case. It’s time to
relearn replication lag monitoring using Performance Schema
tables.
For this penultimate article before Christmas, let's announce the 30th anniversary of MySQL!
For the 22nd day of our Advent Calendar of Content, we bring you a summary of all the MySQL Blog posts that demonstrate using the OCI TypeScript SDK
For the 21st day of our Advent Calendar of Content, we bring you a summary of all the MySQL Shorts that are focussed on topics that would interest DBAs.
This blog post explains the cause of “ERROR 1412 (HY000): Table definition has changed, please retry transaction” with the specific Isolation level settings. Background As per the MySQL documentation, this error should occur for “operations that make a temporary copy of the original table and delete the original table when the temporary copy is built.” […]
Let's stay a bit longer with MySQL 3.2x to advance the MySQL Retrospective in anticipation of the 30th Anniversary.
Let’s stay a bit longer with MySQL 3.2x to advance the MySQL Retrospective in anticipation of the 30th Anniversary. The idea of this article was suggested to me by Daniël van Eeden. Did you know that in the early days, and therefore still in MySQL 3.20, MySQL used the ISAM storage format? IBM introduced the […]