为什么 运行 语句比 Oracle SQL Developer 中的 运行 脚本快?
Why is a Run Statement faster than Run Script in Oracle SQL Developer?
我们在 table 上有一个简单的查询,有 7000 条记录。查询命中大约 1,400 条记录。
当我按下 运行 语句时,执行时间不到 1 秒。
当我按下 运行 脚本 (F5) 时需要 22 秒。这是正常现象还是网络问题?
当您使用 运行 时,数据网格仅提取前 50 行(默认情况下)。当您向下翻页时,它会进一步批量提取,这需要额外的时间。它将重复 29 次以获取所有 1400 行,但按需。
当您运行编写脚本时,一次性获取所有行(不超过您设置的任何限制;我认为默认值仍然是 5000)——因此它会花费更多时间来获取数据网络直接。
如果您最终查看了数据网格中的所有行,那么将数据从数据库服务器传输到您的 PC 所花费的时间是相同的,只是分成了块;额外的行程可能会有更多的总体开销(取决于每批中有多少行在 JDBC 上获取)。如果您向右翻页到网格底部,请注意网格顶部的 'fetched rows' 显示;当它结束时比较 'All rows fetched in ...' 时间与脚本 运行.
我们在 table 上有一个简单的查询,有 7000 条记录。查询命中大约 1,400 条记录。
当我按下 运行 语句时,执行时间不到 1 秒。
当我按下 运行 脚本 (F5) 时需要 22 秒。这是正常现象还是网络问题?
当您使用 运行 时,数据网格仅提取前 50 行(默认情况下)。当您向下翻页时,它会进一步批量提取,这需要额外的时间。它将重复 29 次以获取所有 1400 行,但按需。
当您运行编写脚本时,一次性获取所有行(不超过您设置的任何限制;我认为默认值仍然是 5000)——因此它会花费更多时间来获取数据网络直接。
如果您最终查看了数据网格中的所有行,那么将数据从数据库服务器传输到您的 PC 所花费的时间是相同的,只是分成了块;额外的行程可能会有更多的总体开销(取决于每批中有多少行在 JDBC 上获取)。如果您向右翻页到网格底部,请注意网格顶部的 'fetched rows' 显示;当它结束时比较 'All rows fetched in ...' 时间与脚本 运行.