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