温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何清理数据库Cache缓存

发布时间:2026-09-18 20:52:03 来源:亿速云 阅读:114 作者:小樊 栏目:数据库

清理数据库 Cache 缓存的方法取决于你使用的是哪种数据库(MySQL、PostgreSQL、Oracle、SQL Server、Redis 等)。下面按常见数据库分类说明。


一、MySQL / MariaDB

1. 清理查询缓存(Query Cache)

⚠️ MySQL 8.0 已移除 Query Cache;5.7 及之前版本可用

RESET QUERY CACHE;
FLUSH QUERY CACHE;

2. 清理表缓存 / 权限缓存 / 日志

FLUSH TABLES;
FLUSH PRIVILEGES;
FLUSH LOGS;

3. 清理 InnoDB Buffer Pool(重启才完全清空)

-- 在线刷新(不会清空,只是减少脏页)
SET GLOBAL innodb_buffer_pool_dump_now = ON;

真正清空 Buffer Pool 只能 重启 MySQL 服务


二、PostgreSQL

1. 清理系统缓存(需超级用户)

DISCARD ALL;

2. 清理共享缓冲区(需重启或 OS 层)

-- 只能重启 PostgreSQL
SELECT pg_reload_conf();

3. 操作系统级缓存(Linux)

# 清理 pagecache / dentries / inodes
sync
echo 3 > /proc/sys/vm/drop_caches

三、Oracle

1. 清空 Buffer Cache

ALTER SYSTEM FLUSH BUFFER_CACHE;

2. 清空 Shared Pool

ALTER SYSTEM FLUSH SHARED_POOL;

四、SQL Server

-- 清理计划缓存
DBCC FREEPROCCACHE;

-- 清理系统缓存
DBCC FREESYSTEMCACHE('All');

-- 清理缓冲池
DBCC DROPCLEANBUFFERS;

五、Redis(内存数据库)

# 清空当前库
FLUSHDB

# 清空所有库
FLUSHALL

六、通用建议

✅ 生产环境谨慎操作

  • 清缓存会导致:
    • 查询变慢
    • CPU / IO 瞬时升高

✅ 优先使用“局部清理”

  • 清某张表 / 某个 Key,而不是全库

✅ 排查问题优先

  • 慢查询 → 先分析执行计划,而不是直接清缓存

如果你能告诉我:

  • 使用的是 哪种数据库
  • 是 应用层 Cache 还是数据库自身 Cache
  • 目的是 调优 / 排错 / 释放内存

我可以给你更精确的操作命令和风险控制方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手