网站首页 > 技术文章 正文
MySQL 查询缓存存储经常和最近运行的查询的查询结果,因此它们可以快速返回,而无需从头开始处理所有内容。 它们在提高查询速度和数据库性能方面非常有用。 以下是为您的数据库启用 MySQL 查询缓存、设置 MySQL 缓存大小和禁用查询缓存的步骤。 请注意,MySQL 查询缓存已在 MySQL 5.7 中弃用,并在 MySQL 8.0 中删除。
如何启用 MySQL 查询缓存
这是您的数据库的 MySQL 查询缓存配置。
1. 检查可用性
登录 MySQL 并运行以下命令以检查 MySQL 查询缓存是否可用于您的数据库。
mysql> SHOW VARIABLES LIKE 'have_query_cache';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| have_query_cache | YES |
+------------------+-------+
如果结果为 YES,则表示您的数据库支持查询缓存。
2. 默认查询缓存变量
MySQL 查询缓存由许多变量控制。 在更改它们之前,先运行以下命令以查看它们的默认值。
mysql> show variables like 'query_cache_%' ;
您将看到以下输出
+---------------------------------------+----------+
| Variable_name | Value |
+---------------------------------------+----------+
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 16777216 |
| query_cache_type | OFF |
| query_cache_wlock_invalidate | OFF |
+---------------------------------------+----------+
让我们看看上面的查询缓存变量,
- query_cache_limit – 可以缓存的查询结果的最大大小
- query_cache_min_res_result – MySQL 将查询结果存储在块中。 这是每个块的最小大小。
- query_cache_size – 表示为 MySQL 缓存分配的内存总量。
- query_cache_type – 将此设置为 0 或 OFF 将禁用 MySQL 查询缓存。 将其设置为 1 启用查询缓存。
- query_cache_wlock_invalidate – 如果底层表被锁定,确定 MySQL 是否应该从缓存中获取结果。
3. 启用 MySQL 查询缓存
退出MySQL。 打开终端并运行以下命令打开MySQL配置文件。
$ sudo vi /etc/mysql/my.cnf
在 [mysqld] 部分下面添加以下几行
...
[mysqld]
query_cache_type=1
query_cache_size = 10M
query_cache_limit=256K
我们通过将 query_cache_type 变量设置为 1 来启用查询缓存,单个查询缓存为 256Kb,总缓存为 10Mb。 您可以根据需要更改 query_cache_size 和 query_cache_limit 的值。
4. 重启 MySQL 数据库
重新启动 MySQL 来应用更改生效
$ sudo systemctl restart mysql
或
$ sudo service mysql restart
或
$ sudo /etc/init.d/mysql restart
希望本文能帮助您配置 MySQL 查询缓存。
猜你喜欢
- 2024-10-20 如何在 CentOS7 下改造MySQL开机启动服务?
- 2024-10-20 MySQL日志篇(mysql的日志文件在哪里)
- 2024-10-20 如何快速定位MySQL 的错误日志(Error Log)?
- 2024-10-20 小白自学MySQL笔记(一):Mac环境的安装和启动
- 2024-10-20 MySQL执行计划主要通过EXPLAIN命令来查看
- 2024-10-20 MySQL service启动脚本浅析(r12笔记第59天)
- 2024-10-20 借助shell脚本,解决MySQL服务自动停止的问题
- 2024-10-20 MySQL 还在跑任务时,突然断电,数据库崩了又好像没崩……
- 2024-10-20 超详细的mysql数据库查询缓存总结,值得收藏
- 2024-10-20 一文看懂mysql数据库本质及存储引擎innodb+myisam
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)