【体系结构】一条SQL语句经历了什么
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,我们都知道 Oracle 是通过 SQL 语句来查询或者进行修改的。那么 SQL 从客户端执行开始,经历了哪些进程?哪些 SGA ?是怎么进入到数据文件的呢?请往下看情况一:在数据库中查询 selec
千家信息网最后更新 2025年01月21日【体系结构】一条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安全错误
数据库的锁怎样保障安全
数据库管理维护机制
下载站服务器配置
外汇服务器审核中
服务器 保障数据安全
分布式数据库安全检测
大学软件开发专业学什么
杭州口碑好软件开发
好友请求服务器繁忙
电脑显示不能打开数据库应用
海阳管理系统软件开发外包公司
学生网络安全教育活动方案
盘龙区服务器上门回收平台
dell戴尔服务器北京专卖
全县服务器安装汇报
php微服务数据库
汽车软件开发人员数量
联想服务器ST558出现蓝屏
中标麒麟可以用数据库客户端
远程网络安全方法
网络安全进农村的形式
电脑英雄无法连接服务器
火炬之光手游多久开服务器
求生之路服务器吧
北京it软件开发培训
清华网络安全复试线
网络安全涉及的范畴
网络安全 主要国际会议
计算机系能学网络安全吗
有线电视网络技术试题
网络安全执法培训会议