【问题标题】:What is the difference between Parse, Execute and Fetch?Parse、Execute 和 Fetch 有什么区别?
【发布时间】:2021-06-11 02:30:00
【问题描述】:

tkprof 实用程序会生成包含 Parse、Execute 和 Fetch 三种信息的跟踪文件。你能解释一下这三个有什么区别吗?什么将被算作 Parse 和 Execute 和 Fetch?

提前感谢您的帮助。

【问题讨论】:

    标签: oracle query-optimization database-performance sqlperformance


    【解决方案1】:

    当您发出 SQL 语句时,Oracle:

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

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

    如果我们在谈论性​​能调优,想法是解析一次 SQL 语句,然后将它们保存在现金中,在需要时执行它们,如果再次需要它们则不要关闭游标以减少获取次数。

    【讨论】:

      猜你喜欢
      • 2016-10-22
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 2014-07-26
      • 2017-04-12
      • 2020-01-13
      • 2014-03-31
      • 1970-01-01
      相关资源
      最近更新 更多