1 概述
- 通常,咱只知道通过
select
就能查询出我们想要的数据 - 但在 Oracle 内部,是如何处理
select
语句的呢?
2 原理图解
执行过程解释;
步骤 1: select 语句从 '用户进程' 传输给 '服务器进程'。
服务器将搜索 '数据库缓冲区缓存',了解必需的 '块' 是否已经在 '内存' 中
如果在就进入步骤 4
否则,进入步骤 2 在 '数据文件' 中查找 '块',
然后在步骤 3 中将它们复制到 '数据库缓冲区缓存' 中
步骤 4: 将数据传输到 '服务器进程',做进一步的处理
步骤 5: 将查询结果返回给 '用户进程'
考点:
1. '服务器进程' 将 '数据块' 从 '数据文件' 读取至 '数据库缓冲区缓存'
2. 'DBWn' 后台进程则将 '数据块' 从 '数据库缓冲区缓存' 写入 '数据文件'