Checking MySQL Query Cache
October 11, 2007 – 4:45 pmMySQL query cache can be useful, if it works. Here’s how to check it’s effectiveness.
show status like 'qc%';
+-------------------------+----------+
| Variable_name | Value |
+-------------------------+----------+
| Qcache_free_blocks | 6407 |
| Qcache_free_memory | 24176544 |
| Qcache_hits | 3075026 |
| Qcache_inserts | 2435740 |
| Qcache_lowmem_prunes | 363018 |
| Qcache_not_cached | 157193 |
| Qcache_queries_in_cache | 16022 |
| Qcache_total_blocks | 39912 |
+-------------------------+----------+
You can see here that we have 24Megs of unused query cache. This is essentially wasted memory. Make sure you’re not using a ridiculously high amount, since every time you perform an insert or update to a table it’ll kill any queries in the cache that reference those tables.
Personally, I prefer to use memcached, which can be used as a central cache system that every machine benefits from.


