oracle一条sql的执行过程,请问执行一条sql的整个过程是怎样的,谢谢!
select count(*) into c from yaoyao_pbj where object_id=7559;
select count(*) into c from yaoyao_pbj where object_id=22543;
select count(*) into c from yaoyao_pbj where object_id=17287;
--------
以上3条sql循环执行90万次,数据是在同一个数据块上,但出现的等待事件是latch free-shared pool latch
如果按上面的sql执行过程,当sql再次执行时,不会产生shared pool latch的争用,因为不需要硬解析,所以不需要申请free memory。
以下是监控数据:
--执行前的子pool情况
shared pool --80M
1 sga heap(1,0) free memory 0-1K 266 free 25200
1 sga heap(1,0) free memory 3-4K 1 free 2824
1 sga heap(1,0) free memory > 10K 16 free 69643584
1 sga heap(1,0) free memory > 10K 7 R-free 4701200
--执行后的子pool情况
1 sga heap(1,0) free memory 0-1K 274 free 25960
1 sga heap(1,0) free memory 2-3K 1 free 2456
1 sga heap(1,0) free memory > 10K 8 free 68158104
1 sga heap(1,0) free memory > 10K 7 R-free 4701200
--执行前free memory情况
shared pool (1): free memory 76923640 73.36M
--执行后free memory 情况
shared pool (1): free memory 75515584 72.02M
--执行前sgastat状态
shared pool sql area 5254400
shared pool free memory 76977464
shared pool library cache 4636264
--执行后sgastat状态
shared pool sql area 6253144
shared pool free memory 75515584
shared pool library cache 4792088
--运行时截取的等待事件
latch free SELECT COUNT(*) FROM YAOYAO_PBJ WHERE OBJECT_ID=22543 156 1 shared pool
latch free SELECT COUNT(*) FROM YAOYAO_PBJ WHERE OBJECT_ID=17287 156 1 shared pool
--latch情况
NAME GETS MISSES SLEEPS SPIN_GETS
shared pool 81208964 11394253 3 11394250
library cache 54020979 1398 0 1398
library cache 54042170 4606 0 4606
library cache 54046403 5223 0 5223
library cache pin 54006668 16 0 16
library cache pin 54018983 271 0 271
library cache pin 54022535 169 0 169
--谁能告诉我具体的原因吗?有大虾吗?
[本帖最后由 orion61 于 2010-12-15 17:27 编辑]
oracle一条sql的执行过程,请问执行一条sql的整个过程是怎样的,谢谢!相关推荐
- 对于SQL语句执行过程你确定了解吗
SQL语句执行过程详解 一条sql,plsql的执行到底是怎样执行的呢? 一.SQL语句执行原理: 第一步:客户端把语句发给服务器端执行 当我们在客户端执行 select 语句时,客户端会把这条 SQ ...
- mysql 拼接sql批量执行_MySql 学习之 一条更新sql的执行过程
上一篇文章咱们说了一条查询sql的执行过程. https://zhuanlan.zhihu.com/p/156155783zhuanlan.zhihu.com 今天咱们说说一条更新sql的执行过程. ...
- 一个sql的执行过程详解
作者:猿来是八阿哥 链接:https://www.jianshu.com/p/e2926d6a808f 一个sql的执行过程 一. 组成部分 PDO_MYSQL is a driver that im ...
- MyBatis 源码分析 - SQL 的执行过程
本文速览 本篇文章较为详细的介绍了 MyBatis 执行 SQL 的过程.该过程本身比较复杂,牵涉到的技术点比较多.包括但不限于 Mapper 接口代理类的生成.接口方法的解析.SQL 语句的解析.运 ...
- InnoDB:一条update语句执行过程
存储引擎InnoDB下执行一条update的语句要经过哪些步骤呢?假设我们执行如下SQL,本文宏观上将执行器和存储引擎视为一体(执行器和存储引擎交互). update user_info set na ...
- 大学计算机一条指令的执行过程实验,实验四 一条指令的执行过程
<实验四 一条指令的执行过程>由会员分享,可在线阅读,更多相关<实验四 一条指令的执行过程(2页珍藏版)>请在人人文库网上搜索. 1.实验四 一条指令的执行过程学号:11201 ...
- mysql 查询执行过程_深入浅出Mysql(一)——sql查询执行过程
一.sql查询执行过程概括 下面给出的mysql基本架构示意图,从中你可以清楚的mysql的各个模块和执行过程. 大体来说可以分为两部分Server层和储存引擎层.Server层包括连接器.查询缓存. ...
- Pytest----pytest-sugar 执行过程中显示进度条
[原文链接]Pytest----pytest-sugar 执行过程中显示进度条 Pytest-sugar是一款用来改善控制台显示的插件,增加了进度条显示,使得在用例执行过程中可以看到进度条,而且进度条 ...
- 大学计算机一条指令的执行过程实验,实验4 一条指令的执行过程 实验报告(4页)-原创力文档...
实验4??一条指令的执行过程??实验报告 学号????????????姓名??????????? ???????班级:??? ?????????实验时间:? ????年??月??日? ? 实验报告表4 ...
最新文章
- 1986年讲MDCT的基础性论文
- 恢复exchange2003的公共文件夹
- Ranger中对hive添加policy字后,hive登录用户可用,hive密码不管用的问题解决,HiveServer2 Authentication Custom的编写
- MVC强类型和弱类型的区别
- 在Spring中使用@ResponseStatus获取Http状态
- linux软件依赖库,【Linux】ubuntu系统安装及软件依赖库
- BST-V51开发板用c语言,小代码 向原文学习 BST 简单的C语言版本
- android log 码率,webrtc之Android视频质量提升:保帧率降码率
- Python中的字符串定义
- js便签笔记(3)——切记:appendChild()、insertBefore()是移动element节点!
- 2.9.PHP7.1 狐教程-【控制语句 循环】
- sqlmap之tamper绕过
- linux配置基于pptp的多用户多出口ip的vpn,PPTP配置多ip出口vpn
- Android 三种拨号方式(kotlin)
- shell wc (统计字符数量)的基本使用
- python如何使用gpu加速_如何用云端 GPU 为你的 Python 深度学习加速?
- C++基本功和 Design Pattern系列 Operator 下
- IDEA插件系列(87):Base64 image encoder插件——以base64编码的形式查看图像
- 算法中的一些数学问题分享,ICG游戏
- 交互设计|抖音为什么是上滑查看下一个视频