Author - David Ducos

Multithreaded ALTER TABLE with pt-online-schema-change and myloader

multithreaded alter table

pt-online-schema-change emulates the way that MySQL alters tables internally, but it works on a copy of the table you wish to alter. It executes INSERT statements to import the data, that runs in a single connection to fill the new table. In this repository, there is a script called myloader_pt-osc.sh that uses myloader to […]

Read more

Using pt-heartbeat with ProxySQL

Using pt-heartbeat with ProxySQL

ProxySQL and Orchestrator are usually installed to achieve high availability when using MySQL replication. On a failover (or graceful takeover) scenario, Orchestrator will promote a slave, and ProxySQL will redirect the traffic. Depending on how your environment is configured, and how long the promotion takes, you could end up in a scenario where you […]

Read more

Finding Table Differences on Nullable Columns Using MySQL Generated Columns

MySQL generated columns

Some time ago, a customer had a performance issue with an internal process. He was comparing, finding, and reporting the rows that were different between two tables. This is simple if you use a LEFT JOIN and an 
IS NULL  comparison over the second table in the WHERE clause, but what if the column could be […]

Read more

InnoDB Buffer Pool Resizing: Chunk Change

InnoDB Buffer Pool

Since MySQL 5.7.5, we have been able to resize dynamically the InnoDB Buffer Pool. This new feature also introduced a new variable — innodb_buffer_pool_chunk_size — which defines the chunk size by which the buffer pool is enlarged or reduced. This variable is not dynamic and if it is incorrectly configured, could lead to undesired […]

Read more

Using Hints to Analyze Queries

Hints to Analyze Queries

In this blog post, we’ll look at using hints to analyze queries.
There are a lot of things that you can do wrong when writing a query, which means that there a lot of things that you can do to make it better. From my personal experience there are two things you should review first:

The table join […]

Read more