Parse, Execute和Fetch之间的区别是什么?



tkprof实用程序生成跟踪文件,其中包含三种类型的信息,分别是Parse、Execute和Fetch。您能解释一下这三者的区别吗?什么会被算作是Parse, Execute和Fetch?

提前感谢您的帮助。

当你发出一个SQL语句时,Oracle:

  1. 解析SQL语句。这意味着Oracle分析语法的正确性,检查访问权限,并创建执行计划(或从缓存中获取)。
  2. 实际执行SQL语句
  3. 对于SELECT语句,Oracle获取查询返回的行。(对于INSERT, DELETE, UPDATE, Oracle不获取任何数据)

这些操作的数目写在跟踪中。

如果我们在谈论性能调优,这个想法是一次解析SQL语句,然后将它们保存在缓存中,在需要时执行它们,并且在需要时不关闭游标以减少读取次数。

相关内容

  • 没有找到相关文章

最新更新