本文共 783 字,大约阅读时间需要 2 分钟。
Oracle 数据库中几个重要的动态性能视图
v$sql_plan
它提供与计划表基本上相同的信息。换句话说,它提供执行计划和由查询优化器提供的其他相关信息。几个用于标识与库缓存中的执行计划关联的游标的列,是这个视图与计划表之间唯一显著的差别。
v$sql_plan_statistics
为v$sql_plan视图中的每一个操作提供执行统计。例如消耗的时间和产生的行数。本质上讲,它提供执行计划的运行时行为。这时非常有用的信息,因为v$sql_plan视图只显示查询优化器在解析阶段做出的估算和决定。因为执行统计信息的采集可能会引发不可忽略的负载,默认情况下不会采集它们。要激活采集,必须将 statistics_level 初始化参数设置为 ALL,或者必须将 gather_plan_statistics 这个 hint 指定在SQL语句中。
v$sql_workarea
提供关于执行游标所需的内存工作区的信息。它给出运行时内存以及估算的高效执行操作需要的内存总量信息。
v$sql_plan_statistics_all
将v$sql_plan、v$sql_plan_statistics以及v$sql_workarea视图提供的信息通过一个单独的视图展现出来。通过它,可以避免手工连接多个视图。
库缓存中的游标通过两个列来标识:address和child_number。通过address列,可以标识父游标。通过两个列一起,可以标识子游标。更多的常见的用法是用sql_id列替代address列来标识游标。使用sql_id列的好处是它的值只依赖SQL语句本身。
(未完,待续)
转载地址:http://wutdi.baihongyu.com/