有没有人知道或想到
脚本或工具
,它会告诉粗略估计
“查询需要多长时间will take to execute" ,就像我们将windows中的文件复制到某个外部设备时,它给出了大致估计的时间,复制将需要的时间。
谁能想到根据解释计划创建任何算法
?。
我不知道这是否是提出此类问题的正确论坛。但我想到了这个问题,所以我问了。
最佳答案
查询计划的 TIME
列已经为您提供了优化器对耗时的估计
SQL> select *
2 from table( dbms_xplan.display );
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3956160932
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 546 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| EMP | 14 | 546 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------
8 rows selected.
显然,优化器的估计肯定是不正确的。但这通常意味着对象的统计数据在某种程度上是不正确的。假设您的算法将使用相同的统计数据,您的估计似乎不太可能更准确。
关于database - 在查询之前找到粗略时间的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13824582/