tkprof实用程序生成跟踪文件,其中包含三种类型的信息,分别是Parse、Execute和Fetch。您能解释一下这三者的区别吗?什么会被算作是Parse, Execute和Fetch?
提前感谢您的帮助。
当你发出一个SQL语句时,Oracle:
- 解析SQL语句。这意味着Oracle分析语法的正确性,检查访问权限,并创建执行计划(或从缓存中获取)。
- 实际执行SQL语句
- 对于SELECT语句,Oracle获取查询返回的行。(对于INSERT, DELETE, UPDATE, Oracle不获取任何数据)
这些操作的数目写在跟踪中。
如果我们在谈论性能调优,这个想法是一次解析SQL语句,然后将它们保存在缓存中,在需要时执行它们,并且在需要时不关闭游标以减少读取次数。