【体系结构】一条SQL语句经历了什么
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,我们都知道 Oracle 是通过 SQL 语句来查询或者进行修改的。那么 SQL 从客户端执行开始,经历了哪些进程?哪些 SGA ?是怎么进入到数据文件的呢?请往下看情况一:在数据库中查询 selec
千家信息网最后更新 2024年11月22日【体系结构】一条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安全错误
数据库的锁怎样保障安全
网络安全法遏制诈骗
服务器防篡改使用心得
级联数据库创表
2020年软件开发大会
移动通信网络安全工程师
南京市教育局网络安全培训
乡镇医院网络安全自查自纠
开微商城要租服务器吗
人才库信息数据库内容
网络技术包括哪些类别
生鲜售货机软件开发
有米科技互联网大赛
杨浦区服务软件开发统计
互联网属于科技竞赛嘛
迁移学习数据库
软件开发与学历有关吗
军人网络安全手抄报图片
网络安全法针对等保
数据库默认后缀
t1飞跃数据库连接
青岛华知网络技术有限公司
鹰巢山 服务器
云南服务器电源种类有哪些
软件开发用i5还是i7
p2p技术软件开发
软件开发 英语 过几级
网络技术挑战赛题目
数据库怎么保存sql
软件开发主要模型
数据库查询某类别下所有产品