In MySQL 8.0 we introduce the ICU library to handle our regular expression support. This library is maintained by the Unicode Consortium and is used on a wide variety on platforms. The reason we switch libraries is threefold: security, Unicode support and functionality.…
All posts by Martin Hansson
MySQL 8.0.1: Using SKIP LOCKED and NOWAIT to handle hot rows
MySQL 8.0.1 introduces two new features which allow you to better manage situations where you have tables with hot row contention. This issue frequently presents itself in scenarios such as worker threads all accessing the same tables trying to find new work, and ecommerce websites trying to keep accurate inventory counts.…
MySQL 8.0: Invisible Indexes
Invisible indexes are a new feature in MySQL 8.0 that provide the ability to mark an index as unavailable for use by the Optimizer. This means that the index will still be maintained and kept up-to-date as data is modified, but no queries will be permitted to make use of the index (even if the query uses a FORCE INDEX hint).…
New Query Rewrite Presentation at FOSDEM 2016
Last weekend I had the pleasure to attend the excellent FOSDEM conference in Brussels, Belgium. I indulged aplenty in pancakes with Nutella, a Belgian beer or two, and some truly interesting presentations. MySQL had a lecture hall for itself the whole weekend, and the booth conveniently located outside.…
Write Yourself a Query Rewrite Plugin: Part 2
In my last post I covered how to use the query rewrite framework to write your own pre-parse plugin. The interface is simplistic: a string goes in, a string comes out, and the rest is up to your plugin’s internal workings.…
Write Yourself a Query Rewrite Plugin: Part 1
With the query rewrite framework in the latest MySQL (Optimizer/InnoDB/Replication) labs release, you get the opportunity to author plugins that can rewrite queries. You can choose whether to rewrite the queries before and/or after parsing. Today I am going to walk you through how to write a pre-parse query rewrite plugin.…
The Query Rewrite Plugins
Why Query Rewrites?
Now that the cost model project is progressing, most of you are going to notice execution plan changes. In the vast majority of the cases, the changes will be for the better, and some bugs with a long history will finally be closed.…