SQL/Oracle里面有没有在程序执行前预估程序执行时间的东西?

Is there something in SQL/Oracle to estimate program execution time before program execution?

我是 SQL/Oracle 编程的初学者。就像聚合函数count可以用来查找no一样。结果集中的记录,我需要理解为什么一些连接查询需要花费大量时间来执行。

它可能不会告诉您多长时间,但查看查询计划会让您很好地了解为什么查询需要很长时间。特别注意 table 较大 table 的扫描。

对于 Sql 服务器,SSMS 将允许您生成预期的查询计划而无需实际 运行ning 查询,或者 运行 查询并显示结果以及实际的查询使用的查询计划。 Toad for Oracle 具有类似的功能。

查询计划显示了它如何访问各个 tables,如何在它们之间进行连接,以及对每个操作的 'cost' 的度量。更高的成本需要更长的时间才能 运行。关于查询计划的完整教程比这种格式的教程要多一些。

在 Oracle 中,您可以检查视图 v$session_longops 以查看 long-运行 查询的进度。