gpt4 book ai didi

mysql - 什么时候刷新 MySQL 查询缓存?

转载 作者:可可西里 更新时间:2023-11-01 08:35:20 27 4
gpt4 key购买 nike

我有一个 innodb mysql 数据库,我想知道查询缓存是在表中发生任何更改时刷新还是仅在那些记录发生更改时刷新?

我有一个每隔几分钟就会修改一次的大表,所以我想知道它有多大用处。

谢谢

最佳答案

我认为您不是在谈论查询缓存,而是在谈论缓冲区缓存
查询缓存是最近 SQL 语句的缓存,这些语句永远不会刷新到磁盘。

刷新缓冲区缓存不如刷新缓冲区日志重要。日志跟踪对数据库中的数据执行的更新。它用于在发生故障时恢复数据库,即当缓冲区缓存未刷新到磁盘时。

在 InnoDB 中刷新缓冲区日志有 3 种主要方法,它们由参数 innodb_flush_log_at_trx_commit 控制。
MySQL 文档引用:

“如果发生崩溃时,如果您可以承受丢失一些最新提交的事务,则可以将 innodb_flush_log_at_trx_commit 参数设置为 0。无论如何,InnoDB 都会尝试每秒刷新一次日志,尽管刷新不是保证。另外,将 innodb_support_xa 的值设置为 0,这将减少由于磁盘数据和二进制日志同步而导致的磁盘刷新次数。”

来源:http://dev.mysql.com/doc/refman/5.1/en/innodb-tuning.html

希望对你有帮助

关于mysql - 什么时候刷新 MySQL 查询缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606063/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com