绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
私有SQL区和共享SQL区的关系?
2020-06-27 06:32:50
私有SQL区和共享SQL区的关系不太清楚,上网找了一下,发现了两段矛盾的话: 说法1: 用户发出一条语句,应该先打开一个private sql area,也就是一个cursor。而private sql area包含两个子区——persistent area和run-time area。oracle这个时候到shared sql area查看是否有已经存在的适合这条语句执行的parsed statement,执行计划等等。如果有的话,copy一份到private sql area,没有的话则先在shared sql area parse,然后再拷贝到private sql area; 说法2: 若执行的共享sql在解析的时候并不存在,则先在 pga 中完成解析然后拷贝到共享池中,然后执行。 若解析前发现sga中存在,则从sga中拷贝到pga中执行。 若在执行过程中(如长时间查询操作) sga中被老化了,则必须拷贝pga中的到sga中去 说法1中提到,"没有的话则先在shared sql area parse,然后再拷贝到private sql area;" 说法2中提到,"若执行的共享sql在解析的时候并不存在,则先在 pga 中完成解析然后拷贝到共享池中" 当SQL语句找不到时,一个说在共享SQL区解析,一个说在PGA中解析,到底哪一个对呢? 另外,说法2中"若在执行过程中(如长时间查询操作) sga中被老化了,则必须拷贝pga中的到sga中去",此句不是太明白。 请教高人指点?
分享好友

分享这个小栈给你的朋友们,一起进步吧。

调试数据库 ---- 源码研究方法论
创建时间:2020-06-16 17:28:11
能让你坚持下去的源码学习方法 ---- 调试数据库。Oracle的各种DUMP、Trace和Event,增加了研究这个数据库的“乐趣”,使用Oracle成为一个可研究的数据库。开源数据库当然也可以通过钻研源码的方式去研究,但这样的学习周期太长。本课程教你用调试技术不断为MySQL/PostgreSQL扩展功能,在学习源码的同时,不断开发自己的、类似Oracle DUMP、Trace、Event的小工具,这就是我所说的“正向反馈”。用正向反馈,激励自己坚持下去,终成功。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • vage
    栈主

小栈成员

查看更多
  • 叶子,你好
  • 小雨滴
  • 潘佳伟
  • 东风快递
戳我,来吐槽~