==== Enabling Query Caching ====
There are two options for viewing the query caching on a server:
=== Option 1 ===
When logged into mysql you can use the following command to view query cache size (note: 0 means that no caching has been enabled)
show VARIABLES LIKE 'query_cache_size';
\\
You can also use the following command for more information:
mysql> show variables like 'query%';
+------------------------------+---------+
| Variable_name | Value |
+------------------------------+---------+
| query_alloc_block_size | 8192 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 1239040 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
+------------------------------+---------+
\\
=== Option 2 ===
If you have configured your .my.cnf file then you are able to perform the following command from your shell without needing to enter into mysql:
mysql -e 'show variables;' | grep query_cache_size
Output should look similar to:
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| query_cache_size | 0 |
+------------------+-------+
\\
--------------------------------------------------------------
=== Setting caching size ===
===Important variables that are linked to caching:===
query_cache_size – This is the size of the cache in bytes. Setting this value to 0 will effectively disable caching.
query_cache_type – This value must be ON or 1 for query caching to be enabled by default.
query_cache_limit – This is the maximum size query (in bytes) that will be cached.
\\
----------------------------------------------------------
\\
=== Configuring query caching variables ===
The command below is an example of setting the global caching of mysql to 16MB.
set GLOBAL query_cache_size = 16777216;
set global query_cache_limit = 1010101;
\\
=== Setting the variables to be permanent: ===
An example of editing the **/etc/my.cnf** file is:
query_cache_size = 268435456
query_cache_type=1
query_cache_limit=1048576