Is it useful to turn on MySQL query cache for performance

General speaking yes for read-only applications (until MySQL 5.7, it’s deprecated since version 8.0), it enables equal SELECTs to return data extremely fast if identical calls are already stored in cache. You should consider that:

  • Only exact same clauses can benefit from the cache engine (no spaces, no comments, no actual differences in WHERE expressions);
  • If you are updating often the table you will not benefit much of it, since the queries get invalidated, and the invalidation algorithms can also reduce performance, in some cases.

Excellent alternatives are:

I think also if you combine those with a good web server like NGINX or Apache2 and an HTTP accelerator like Varnish you can fly.

As I know, these are also the best current practices but I might have ignored something, please share it in case.

Leave a Comment