【问题标题】:Oracle explain plan letter scheme for rows and/or bytes [closed]Oracle 解释行和/或字节的计划信方案 [关闭]
【发布时间】:2012-11-20 22:24:58
【问题描述】:

我一直无法找到可以明确定义这些值的含义的资源。我在下面有一个虚拟的解释计划,显示了我为 Oracle 看到的所有不同字母:

Rows    |    Bytes

21P          10E  
11G          15G  
5M           7M

我的问题是G,P,E, and M 的值是什么意思?还有其他我没有看到的值吗?如果有,它们是什么意思,它们是什么字母?

【问题讨论】:

  • 对于即将关闭的人来说,dba.se 是一个几乎没有任何活动的网站,因此很难回答问题。

标签: sql oracle optimization sql-execution-plan


【解决方案1】:

我认为这些代表 Mega- Giga- Peta- 和 Exa- 这意味着您的 SQL 存在一些非常糟糕的问题。您是否错过了一些非常大的表上的交叉连接?

检查事项:

  • 确保所有涉及的表和索引的统计信息都是最新的
  • 检查您是否有索引(如果可能)有助于您的联接(即理想情况下两个表的联接列上的索引)
  • 完整性检查交叉连接查询(从表 A 到表 B 的连接,没有“on”或“where”条件)

可能是因为 Oracle 优化器只是被混淆了,或者可能是您的查询确实返回了荒谬的数据量,无论是否有意。

【讨论】:

  • 我担心它会成为标准,而不是一些奇怪的 Oracle 命名约定。回到这个查询的绘图板似乎。
  • 这也意味着T 太正确了?
  • 是的,T 代表 Tera-。非常大的数字。
  • 的确如此,根本问题是我将大约 9 个表连接在一起,这些表的行数从 100 万到 300+ 百万不等。因此,我的查询在某处被抬高是有道理的,所以我正在重新访问索引。
猜你喜欢
  • 2018-03-30
  • 1970-01-01
  • 2012-11-12
  • 2012-12-16
  • 2018-07-21
  • 1970-01-01
  • 2017-11-05
  • 2013-02-02
  • 2019-08-12
相关资源
最近更新 更多