General speaking *yes* for read-only applications (until MySQL 5.7, it's deprecated since version 8.0), it enables equal `SELECT`s 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**: - *External caching engines* (i.e. **Memecached** or **Redis**, my favorite, https://redislabs.com/wp-content/uploads/2016/03/15-Reasons-Caching-is-best-with-Redis-RedisLabs-1.pdf) - *ProxySQL* (since MySQL 8.0) on which I have no experience. Read more https://mysqlserverteam.com/mysql-8-0-retiring-support-for-the-query-cache/ 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.