在 MySQL 中启用查询缓存以提高性能
如果您希望从 MySQL 服务器获得优化和快速的响应,那么您需要向 MySQL 服务器添加以下两个配置指令:
query_cache_size=SIZE
为缓存查询结果分配的内存量(SIZE)。默认值为 0,表示禁用查询缓存。
query_cache_type=OPTION
设置查询缓存类型。可能的选项如下:
0:不缓存结果或从查询缓存中检索结果。
1:缓存除以 SELECT S_NO_CACHE 开头的查询结果之外的所有查询结果。
2:仅缓存以 SELECT SQL_CACHE 开头的查询结果
如何在 MySQL 中启用缓存
您可以按如下方式设置缓存:
$ mysql -u root –p
输出:
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 16 to server version: 4.1.15-Debian_1-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
现在设置缓存大小16Mb:
mysql> SET GLOBAL query_cache_size = 16777216;
查询成功,影响 0 行(0.00 秒)
mysql> SHOW VARIABLES LIKE 'query_cache_size';
输出:
+------------------+----------+ | Variable_name | Value | +------------------+----------+ | query_cache_size | 16777216 | +------------------+----------+
您可以在 /etc/my.cnf (Red Hat) 或 /etc/mysql/my.cnf (Debian) 文件中设置它们:
# vi /etc/my.cnf
附加配置指令如下:
query_cache_size = 268435456 query_cache_type=1 query_cache_limit=1048576
在上面的例子中,使用 query_cache_limit 系统变量将可以缓存的单个查询结果的最大大小设置为 1048576。内存大小以 KB 为单位。