识别查询运行时间

时间:2019-05-11 16:42:56

标签: sql oracle

我有一个查询,返回的结果非常快,几秒钟。但是,当我想获取所有行时,需要花费几个小时。

如果我对查询运行多长时间的定义是获取所有行,那么除了实际获取所有行之外,如何衡量这一点?

所有行上的select count (*)是否可以很好地指示获取所有行需要多长时间?

1 个答案:

答案 0 :(得分:0)

select count(*)可能会进行表扫描以返回记录总数。

根据表中的内容及其索引方式,count(*)最有可能比运行select *更快返回

您可以通过使用on set statistics time和on on io在表上运行一些基线。

我还建议您使用客户端统计信息运行。

此外,尝试在启用上述功能的情况下运行前100、1000、10000。

当我进行性能调整时,我希望查看实际的执行计划和估计的执行计划