【体系结构】一条SQL语句经历了什么
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,我们都知道 Oracle 是通过 SQL 语句来查询或者进行修改的。那么 SQL 从客户端执行开始,经历了哪些进程?哪些 SGA ?是怎么进入到数据文件的呢?请往下看情况一:在数据库中查询 selec
千家信息网最后更新 2025年11月08日【体系结构】一条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安全错误
数据库的锁怎样保障安全
服务器 防护措施
本科论文为何不上数据库
三个sci数据库检索
高性能计算在软件开发的应用
帝国神话东西能带到别的服务器吗
hdfs是一个数据库吗
健身软件开发背景
阿里专有云网络技术
华为数据服务器交换机价格
梦享网络技术有限公司李鹤
网络安全团队创建
人口基础数据库是什么
智慧食堂整体解决方案软件开发
e r图用于描述数据库
php软件开发是干什么的
艾尔登法环服务器怎么用战技
保证人们网络安全英文
网络安全宣讲记录
芜湖新悦网络技术有限公司
歌尔的软件开发工程师岗位
服务器托管怎么管理
软件开发人员兼职架构
服务器bmc口集中管理
手机相册云服务器收费吗
网络安全法百度网盘下载
方舟可以在哪个服务器开麦
数据库技术在会计中的应用
健康宝的软件开发公司
智能网络技术期中
python数据库封装