You are here: Home » NewsFeeds » MySQL 8.0: Retiring Support for the Query Cache

MySQL 8.0: Retiring Support for the Query Cache

As Rene wrote on the ProxySQL blog yesterday:
Although MySQL Query Cache was meant to improve performance, it has serious scalability issues and it can easily become a severe bottleneck.
This is indeed something we have observed in the MySQL team for a while. Before we get to the subject of today’s post, let me start with an introduction.
Introduction to Query Cache
The MySQL query cache is a query results cache. It compares incoming queries that start with SEL to a hash table, and if there is a match returns the results from the previous execution of the query. There are some restrictions:
The query must match byte-for-byte (the query cache avoids parsing)
Use of non-deterministic features will result in the query not being cached (including temporary tables, user variables, RAND(), NOW() and UDFs.)
The query cache was designed to not serve stale results.  Any modification to the underlying table(s) results in all cache being invalidated for


Original article