在表的结构或数据发生改变时,查询缓存中的数据不再有效 。有这些INSERT、UPDATE、 DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE会导致缓存数据失效 。所以查询缓存适合有大量相同查询的应用,不适合有大量数据更新的应用 。
可以使用下面三个SQL来清理查询缓存:
1、FLUSH QUERY CACHE; // 清理查询缓存内存碎片 。
2、RESET QUERY CACHE; // 从查询缓存中移出所有查询 。
3、FLUSH TABLES; //关闭所有打开的表,同时该操作将会清空查询缓存中的内容 。
Query Cache是MySQL Server层的一个非常好的特性,对于小数据集或访问量非常集中的应用场景,有非常好的性能提升,但是Query Cache引入了一些新的问题,而且大部分场景下比较鸡肋,官方打算弃用了
参考:
如何清理MySQL 的查询缓存MySQLmysql缓存不足怎么办的FLUSH可以清理mysql数据库缓存数据
MySQL的FLUSH句法(清除或者重新加载内部缓存) FLUSH flush_option [,flush_option],如果mysql缓存不足怎么办你想要清除一些MySQL使用内部缓存,你应该使用FLUSH命令 。为了执行FLUSH,你必须有reload权限 。
flush_option 可以是下列任何东西mysql缓存不足怎么办:
HOSTS这个用的最多,经常碰见 。主要是用来清空主机缓存表 。如果你的某些主机改变IP数字,或如果你得到错误消息Host ... isblocked , 你应该清空主机表 。当在连接MySQL服务器时 , 对一台给定的主机有多于 max_connect_errors个错误连续不断地发生,MySQL为了安全的需要将会阻止该主机进一步的连接请求 。清空主机表允许主机再尝试连接 。
LOGS关闭当前的二进制日志文件并创建一个新文件,新的二进制日志文件的名字在当前的二进制文件的编号上加1 。
PRIVILEGES这个也是经常使用的 , 每当重新赋权后,为了以防万一 , 让新权限立即生效,一般都执行一把,目地是从数据库授权表中重新装载权限到缓存中 。
TABLES关闭所有打开的表,同时该操作将会清空查询缓存中的内容 。
FLUSH TABLES WITH READ LOCK关闭所有打开的表,同时对于所有数据库中的表都加一个读锁,直到显示地执行unlock tables,该操作常常用于数据备份的时候 。解锁的语句就是unlock tables 。
FLUSH TABLES WITH READ LOCK对于数据库是全局的表锁定,如果只想锁定几个表,可以用LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}。这个命令同样需要unlock tables来解锁 。
read-lock: 允许其他并发的读请求,但阻塞写请求,即可以同时读,但不允许任何写 。也叫共享锁 。write-lock: 不允许其他并发的读和写请求,是排他的(exclusive) 。也叫独占锁
STATUS重置大多数状态变量到0 。
MASTER删除所有的二进制日志索引文件中的二进制日志文件,重置二进制日志文件的索引文件为空,创建一个新的二进制日志文件,不过这个已经不推荐使用,改成reset master 了 。可以想象,以前自己是多土?。纠匆惶跫虻サ拿罹涂梢愿愣ǖ?,却要好几条命令来,以前的做法是先查出来当前的二进制日志文件名 , 再用purge 操作 。
QUERY CACHE重整查询缓存,消除其中的碎片,提高性能,但是并不影响查询缓存中现有的数据,这点和Flush table 和Reset QueryCache(将会清空查询缓存的内容)不一样的 。
SLAVE类似于重置复制吧,让从数据库忘记主数据库的复制位置,同时也会删除已经下载下来的relay log,与Master一样,已经不推荐使用,改成Reset Slave了 。这个也很有用的 。
一般来讲 , Flush操作都会记录在二进制日志文件中,但是FLUSH LOGS、FLUSH MASTER、FLUSH SLAVE、FLUSH TABLES WITH READ LOCK不会记录,因此上述操作如果记录在二进制日志文件中话,会对从数据库造成影响 。
推荐阅读
- html5必须是数字,html怎么只有数字
- mysql管理器怎样安装,mysql822怎么安装
- jquery单元格内容换行,jquery实现表格隔行换色
- 开发游戏游戏动作制作,游戏制作动画
- vbnet架构 vbnet入门在线教程
- 易语言和net支持库,易语言支持库怎么用
- 抖音短视频用什么软件,抖音短视频用什么软件看
- 拍摄照片什么水平,拍照水平什么意思
- vb.net内容设置居中 vbnet implements