gpt4 book ai didi

database - 查询的大概行数和执行时间

转载 作者:搜寻专家 更新时间:2023-10-30 22:01:14 27 4
gpt4 key购买 nike

我想在执行查询之前评估行数和执行时间。可能吗?

最佳答案

查询计划可以向您显示优化器估计将返回(或修改)多少行以及优化器估计查询将运行多长时间。然而,由于这些估计与表格中的统计数据等相关联,因此它们完全有可能大错特错。

但是,如果我进行一个简单的查询

SQL> explain plan for select count(*) from emp where deptno = 10;

Explained.

SQL> select *
2 from table( dbms_xplan.display );

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 2083865914

---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 3 | 3 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 3 | | |
|* 2 | TABLE ACCESS FULL| EMP | 3 | 9 | 3 (0)| 00:00:01 |
---------------------------------------------------------------------------

Predicate Information (identified by operation id):

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------

2 - filter("DEPTNO"=10)

14 rows selected.

Oracle 希望对 EMP 表进行全表扫描,过滤掉 deptno = 10 的行将返回 3 行,耗时 1 秒( id = 2 行的查询计划中的 RowsTime 列。 Oracle 希望对 id = 1 的行进行 COUNT(*) 聚合,将其减少为 1 行。因此,在 id = 0 的行上,Oracle 期望 SELECT 语句返回 1 行并运行 1 秒。

关于database - 查询的大概行数和执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13054656/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com