【单选题】在 KingbaseES V8 中,请问 SELECT 操作时,是不是一定没有写磁盘的操作?
- 不是
- 是
解题思路:
要想知道 SELECT 操作是否会有写磁盘的操作,首先得要了解:
- 什么情况下会发生写磁盘的操作?
- SELECT 是否存在符合的情况?
1、KingbaseES 在哪些情况下会发生写磁盘的操作?
- 当检查点发生时,需要写脏数据文件,会有写磁盘的操作。
- COMMIT 提交或者 wal buffer 内存满了的时侯,会调用 wal 进程去写 wal 日志文件,也会有写磁盘的操作。
2、SELECT 是否存在符合的情况?
如果一个 SELECT 语句发生了硬解析,需要将磁盘的数据读取写入到内存 shared buffer 中,然而写入内存时发现内存满了,无法写入,这时候就会触发检查点操作,写脏数据文件,就会触发写磁盘的操作。
附上 KingbaseES 的体系结构图:

📚 推荐阅读:DBA 学习之路
如果这篇文章对你有帮助,推荐访问我的 Oracle DBA 系统学习站点,涵盖 100 天完整学习路线:
- 🔧 Oracle 安装部署 · RMAN 备份恢复 · Data Pump 数据迁移
- 🏗️ RAC 高可用 · DataGuard 容灾 · 多租户架构
- 🔍 故障排查 · 升级迁移 · GoldenGate 数据同步