admin

如何将说明计划视为好-Oracle 10G

sql

甲骨文解释过的计划何时被认为是好的?我正在尝试重构数据库模式,并且视图和程序包中的查询是如此之慢。

例如,这是最糟糕的查询之一,并给出以下解释计划:

计划ALL_ROWSC费用:18,096字节:17基数:1

我不问如何解决查询,只是问如何认为解释计划是好的。谢谢!!


阅读 178

收藏
2021-06-07

共1个答案

admin

在考虑解释计划的结果之前,我们需要了解以下术语,即基数-估计每个操作产生的行数
.访问方法''-通过任一方法访问数据的方式表扫描或索引访问。“联接方法”。用于将表彼此联接的方法(例如,哈希,排序合并等)。―连接类型―连接的类型(例如,外部,反,半等)。连接顺序’‘。表相互连接的顺序
.分区修剪''。是否仅访问必要的分区来回答查询?并行执行’‘。在并行执行的情况下,每个计划中的操作是否正在并行进行?是否使用了正确的数据重新分配方法?

通过审查以下四个关键要素:基数估计,访问方法,联接方法和联接顺序;您可以确定执行计划是否是最佳的可用计划。本白皮书将为您提供帮助,http://www.oracle.com/technetwork/database/focus-
areas/bi-datawarehousing/twp-explain-the-explain-
plan-052011-393674.pdf

2021-06-07