by David Ducos | Oct 3, 2018 | Insight for DBAs, Insight for Developers, MySQL
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... by David Ducos | Jun 19, 2018 | Insight for DBAs, MySQL
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... by David Ducos | Apr 17, 2018 | MySQL
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... by David Ducos | Jan 2, 2018 | Insight for DBAs, Insight for Developers, MySQL, ProxySQL
In this post, we’ll look at how to improve queries using generated columns and ProxySQL instead of implementing a referenced table.Developers and architects don’t always have the time or complete information to properly analyze and design a database. That... by David Ducos | May 3, 2017 | Benchmarks, Insight for DBAs, MySQL
A lot of things have been said about UUID, and storing UUID in an optimized way. Now that we have generated columns, we can store the decomposed information inside the UUID and merge it again with generated columns. This blog post demonstrates this... by David Ducos | Oct 21, 2016 | MySQL, Percona Software
In this blog post, we’ll look at how replication triggers a Performance Schema issue on Percona XtraDB Cluster.During an upgrade to Percona XtraDB Cluster 5.6, I faced an issue that I wanted to share. In this environment, we set up three Percona XtraDB... by David Ducos | Sep 9, 2015 | Benchmarks, MySQL, Percona Software
There are cases where we need to implement MySQL partitioning, or at least test if it is an option to solve an issue. However, how are we able to test it when the table on our production environment has hundreds of millions of rows, several composite indexes... by David Ducos | Jun 15, 2015 | MySQL
We usually try to avoid subselects because sometimes they force the use of a temporary table and limits the use of indexes. But, when is good to use a subselect?This example was tested over table a (1310723 rows), b, c and d ( 5 rows each) and with MySQL version 5.5... by David Ducos | Jan 21, 2015 | Benchmarks, Insight for DBAs, MySQL
Mydumper is known as the faster (much faster) mysqldump alternative. So, if you take a logical backup you will choose Mydumper instead of mysqldump. But what about the restore? Well, who needs to restore a logical backup? It takes ages! Even with Myloader. But this...