Showing entries 1 to 10 of 38580
10 Older Entries »
InnoDB Page Compression: the Good, the Bad and the Ugly

In this blog post, we’ll look at some of the facets of InnoDB page compression.

Somebody recently asked me about the best way to handle JSON data compression in MySQL. I took a quick look at InnoDB page compression and wanted to share my findings.

There is also some great material on this topic that was prepared and presented by Yura Sorokin at Percona Live Europe 2017: Yura also implemented …

[Read more]
Sysbench: IO-bound, InnoDB, a small server, MySQL 5.0 to 8.0

This has results for IO-bound sysbench with InnoDB and MySQL versions 5.0, 5.1, 5.5, 5.6, 5.7 and 8.0. The results here don't always match the results from in-memory sysbench. One source of variance is the differing performance of the SSDs used on the i3 and i5 NUC.

There are four types of tests: write-heavy, scan-heavy, point-query and inlist-query. Performance within each group is usually similar. Reading the summary below the results for modern InnoDB are mostly an improvement. This is good news because these tests are limited to low-concurrency and the many improvements in modern InnoDB don't help here.

tl;dr - performance for InnoDB in 8.0.3 compared to 5.0.96

  • Full index scans were faster on the i5 NUC and both slower & faster on the i3 NUC. Shorter scans from read-write and …
[Read more]
MySQL Explain Analyzer

tl;dr: The source is at and you can try it out here.

I read Performance Impacts of Data Volume a few weeks ago on “Use The Index, Luke!” and found the whole workflow really fascinating. Here’s the first paragraph on that page:

The amount of data stored in a database has a great impact on its performance. It is usually accepted that a query becomes slower with additional data in the database. But how great is the performance impact if the data volume doubles? And how can we improve this ratio? These are the key questions when discussing database scalability.

I was thinking about this and how query EXPLAINs from a test environment can help …

[Read more]
Several Ways to Intentionally Fail or Crash your MySQL Instances for Testing

You can take down a MySQL database in multiple ways. Some obvious ways are to shut down the host, pull out the power cable, or hard kill the mysqld process with SIGKILL to simulate an unclean MySQL shutdown behaviour. But there are also less subtle ways to deliberately crash your MySQL server, and then see what kind of chain reaction it triggers. Why would you want to do this? Failure and recovery can have many corner cases, and understanding them can help reduce the element of surprise when things happen in production. Ideally, you would want to simulate failures in a controlled environment, and then design and test database failover procedures.

There are several areas in MySQL that we can tackle, depending on how you want it to fail or crash. You can corrupt the tablespace, overflow the MySQL buffers and caches, limit the resources to starve the server, and also mess around with permissions. In this blog post, we are going to show you some …

[Read more]
This Week in Data with Colin Charles 15: Percona Live 2018 Call for Papers and Best Practices for Observability

Join Percona Chief Evangelist Colin Charles as he covers happenings, gives pointers and provides musings on the open source database community.

So we have announced the call for presentations for Percona Live Santa Clara 2018. Please send your submissions in!

As you probably already know, we have been expanding the content to be more than just MySQL and MongoDB. It really does include more open source databases: the whole of 2016 had a “time series” theme to it, and we of course love to have more PostgreSQL content (there have been tracks dedicated to PostgreSQL for sometime now). I found this one comment interesting recently, from John Arundel, “If you’re going to learn one database really well, make it Postgres.” I have been noticing newer developers jump on the …

[Read more]
SQLyog Thanksgiving Sale has begun

Happy Thanksgiving!

We know everyone likes spending quality time with their family at the holidays. That’s why we thought you might like to start using SQLyog MySQL GUI as you try to accomplish more work in less time.

Get flat 30% off on SQLyog purchases and renewals. Use coupon code: TG30

Upgrade your SQLyog community edition to the commercial version to save tons of time on a daily basis. Purchase here.

If you’re an existing customer and want to extend your license – head right away to Customer Area.

Hurry up, this offer is valid until 23rd November, 23:59 PST.

Team SQLyog

[Read more]
Optimization to skip index dives with FORCE INDEX.

Index dives are performed during the optimization phase to help decide which index to use. Currently when user specifies FORCE INDEX, optimizer still always calculates cost using index dives. Under some circumstances it is possible to avoid the index dives and this could speed up execution.…

A new optimization in gcc 5.x and MySQL

We were testing the impact of changing from gcc 4.9 to 5.x and from older to newer jemalloc. For one of the in-memory sysbench tests the QPS at high-concurrency dropped by 10%. The test was read-only with range-size set to 1000. If the test was limited to the order-ranges query then the QPS dropped by ~25%. This wasn't good.

I repeated the test with newer jemalloc and gcc 4.9 and there was no loss of QPS. So now it looked like a problem with gcc 5.x and not jemalloc. I then did a build with tcmalloc, but at startup mysqld would get an illegal free error from tcmalloc. After finding what I think is a RocksDB bug and then another problem, I found a workaround and soon discovered that for tcmalloc and glibc malloc there was also a decrease in QPS for gcc 5.x but not 4.9. Now I was …

[Read more]
MySQL Workbench 6.3.10 GA has been released

Dear MySQL users,

The MySQL developer tools team announces 6.3.10 as our GA release for
MySQL Workbench 6.3.

For the full list of changes in this revision, visit

For discussion, join the MySQL Workbench Forums:

Download MySQL Workbench 6.3.10 GA now, for Windows, macOS 10.11+,
Oracle Linux 7, Fedora 26 and 27, Ubuntu 16.04 and 17.10
or sources, from:


Changes in MySQL Workbench 6.3.10 (2017-11-15)
Bugs Fixed

* Performance information within the Administration –
Dashboard tab demonstrated a slow rate of refresh on
hosts running macOS High Sierra. (Bug #26921498)

* Tooltips within the Administration – Dashboard tab did
not display when the mouse pointer …

[Read more]
MySQL 8.0 Data Dictionary Tables… and why they should stay protected

With MySQL 8.0, one key feature is the new Data Dictionary.

The system tables that were previously in MyISAM are now replaced by new protected ones in the DD.

My friend Giuseppe already explained how you could see those tables using sandbox  and he also warned you that you should not mess up with them in this post too.

I’ll explain you how you can see those tables and their actual content. But will also explain why we decided to protect them and why it should stay like that.

DD protected internal tables list

The easiest way …

[Read more]
Showing entries 1 to 10 of 38580
10 Older Entries »