Sql 与dbms_xplan.display混淆

Sql 与dbms_xplan.display混淆,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,我正在使用oracle 11g。刚开始练习索引。为此,我刚刚创建了一个包含10000000行的表。在没有创建索引的情况下,我搜索了4568754条记录,在解释计划中,它只显示了28行 我的疑问是: 如果我们不在表上创建任何索引,Oracle将进行顺序搜索。在上面的示例中,搜索的行应该是4568743,但为什么只显示28 创建唯一索引后,它只搜索了1行。我可以看到CPU百分比和执行时间的差异,但扫描的行数只会让我感到困惑 如果我的理解是错误的,谁能解释一下 执行计划仅显示基于收集的统计信息的估计行

我正在使用oracle 11g。刚开始练习索引。为此,我刚刚创建了一个包含10000000行的表。在没有创建索引的情况下,我搜索了4568754条记录,在解释计划中,它只显示了28行

我的疑问是:

如果我们不在表上创建任何索引,Oracle将进行顺序搜索。在上面的示例中,搜索的行应该是4568743,但为什么只显示28

创建唯一索引后,它只搜索了1行。我可以看到CPU百分比和执行时间的差异,但扫描的行数只会让我感到困惑


如果我的理解是错误的,谁能解释一下

执行计划仅显示基于收集的统计信息的估计行数。优化器统计是复杂的;如果没有关于执行内容的精确信息,就无法解释


表很可能有过时或丢失的统计信息,并且
完整表扫描的估计值不准确。索引统计信息在创建时自动收集。创建索引并更改计划时,它能够使用准确的索引统计信息预测只返回一行。

显示查询的解释计划(有索引和没有索引)。