为什么运行语句比Oracle SQL Developer中的运行脚本更快?

时间:2016-07-29 10:44:28

标签: oracle11g oracle-sqldeveloper

我们在一个包含7000条记录的表上进行了简单的查询。查询大约有1,400条记录。

当我按下运行声明时,它需要< 1Sec执行。

当我按下运行脚本(F5)时,需要22秒。这是正常的还是网络问题?

1 个答案:

答案 0 :(得分:3)

使用“运行”时,数据网格仅提取前50行(默认情况下)。当您向下翻页时,它会进行进一步的批量提取,这需要额外的时间。它将重复29次以获得所有1400行,但需要时。

当您运行脚本时,所有行(达到您设置的任何限制;我认为默认值仍为5000)都是一次性获取的 - 所以它花费更多时间直接通过网络获取数据。 / p>

如果您最终查看数据网格中的所有行,那么将数据从数据库服务器传输到PC所花费的时间是相同的,它只是分成块;并且从额外的行程中可能会有更多的开销(取决于每批中通过JDBC获取的行数)。如果您向下翻页到网格的底部,请观看“获取的行”#39;显示在网格的顶部;当它到达最后时,比较是'所有行都在...'脚本运行的时间。