双机和数据库.docVIP

  • 2
  • 0
  • 约1.38万字
  • 约 12页
  • 2017-11-10 发布于江苏
  • 举报
双机和数据库

数据库编程部分: SQL解析的过程 Sql的解析过程大约可以分为如下的过程 客户端发出一条SQL语句,SQL语句进入共享池,该SQL语句以及相关的辅助信息组成游标 对SQL语句进行hash运算,得到一个hash值,转入相应的bucket中去 对bucket进行遍历,查找是否存在这条SQL语句 如果不存在这条语句,获得shared pool latch,然后在shared pool中进行chunk链条的遍历,找到合适的chunk,之后释放shared pool latch,chunk进入library cache中 硬解析开始 硬解析过程 语法检查 涉及对象存在性检查 同义词转换 对用户的对象权限检查 计算成本,生成执行计划 该游标所产生的执行计划、sql文本等装载进library cache的heap中 在解析的过程中,进程会一直持有library cache latch,一直到硬解析结束。(而这个latch就有可能是引发Latch free等待事件的Latch) 其中最消耗资源的步骤就是第五步。因为它要访问数据字典,统计信息来估算各种路径的成本,找到最合理的路径,来生成执行计划。 软解析过程 硬解析是一个完整的解析过程,如果解析过程中去掉一个或者多个步骤的话,这样的解析叫做软解析 在bucket中找到了sql语句,就会进行软解析,因为如果没有找到,那么说明这个语句是第一次执行,第

文档评论(0)

1亿VIP精品文档

相关文档