【体系结构】一条SQL语句经历了什么
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,我们都知道 Oracle 是通过 SQL 语句来查询或者进行修改的。那么 SQL 从客户端执行开始,经历了哪些进程?哪些 SGA ?是怎么进入到数据文件的呢?请往下看情况一:在数据库中查询 selec
千家信息网最后更新 2026年11月02日【体系结构】一条SQL语句经历了什么
我们都知道 Oracle 是通过 SQL 语句来查询或者进行修改的。那么 SQL 从客户端执行开始,经历了哪些进程?哪些 SGA ?是怎么进入到数据文件的呢?请往下看
情况一:在数据库中查询 select

如图所示:
① 客户端输入 SQL,SQL 语句通过网络到达数据库实例,前台进程(服务器进程)接受 SQL 语句, PGA 这时会分配一段空间给前台进程。
② 将 SQL 语句解析为"执行计划",然后才能执行
解析这部分消耗很多资源: CPU 和 I/O 。
此时 SQL 语句和执行计划都会被缓存在共享池 (shared pool) 中
③ 通过生成的执行计划在数据库缓冲区( buffer cache )和 dbf 文件中找数据
此过程会涉及数据库缓冲区,数据库缓冲区的作用就是缓存 dbf 的数据。所以是首先从数据库缓冲区看是否有数据,有的话就从数据库缓冲区中获取,如果没有就从 dbf 文件中获取。 dbf 中的数据首先会传到数据库缓冲区中。然后在通过前台进程将数据返回客户端。
① ② ③过程都是有前台进程完成
情况二:修改某个表的数据

① 同查询一样,客户端将要求前台进程传输到共享池中,然后到数据库缓冲区读数据。如果数据库缓冲区中没有数据,那么就从 dbf 文件中找, dbf 中的数据会传送到数据库缓冲区,由前台进程进行读取。
② 前台进程在数据库缓冲区中对表进行修改,提交,此时,会产生日志。产生的日志会写到日志缓冲区中。
③ 在数据库缓冲区中修改完数据后,此时内存中的数据和数据文件中的数据不一致。需要将内存中的数据写到数据文件中。这个过程由数据库写进程来完成。
④ 内存中日志缓冲区产生的日志需要写到日志文件中,这个过程由日志写进程完成。
------------- end ---------------
数据
数据库
缓冲区
缓冲
进程
前台
文件
日志
语句
客户
客户端
过程
内存
查询
情况
缓存
一致
作用
实例
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
互联网科技活动banner
国智互联网科技
互联网科技官网
互联网科技垄断
工业互联网科技新基建
科技互联网技术
科技类互联网
互联网科技金融公司
奇酷互联网络科技
以后互联网后是啥科技
深圳育鹏互联网科技有限公司招聘
用友工业互联网科技发展
互联网科技如何创业
南博望互联网科技有限公司
科技赋能视角下互联网保险发展
互联网科技快讯热点
上海乐五互联网科技有限公司
互联网时代高科技布局
数字科技和互联网金融哪个好
互联网科技产业
深圳恒合互联网络科技有限公司
互联网高科技股票
佩信高科技互联网
华脉科技工业互联网产品
电子科技大学互联网创业大赛
中国互联网公司排名锤子科技
梅州GM互联网络科技有限公司
张召忠谈中国互联网科技
科技互联网专业工作会议发言稿