我有一个流水线功能.我有两个sql语句如下.第一个是从表中选择*,第二个是从表中选择计数(*).
SELECT *
FROM table (es_feed_api_da.invoice_daily ('10-sep-2014'));
SELECT count(*)
FROM table (es_feed_api_da.invoice_daily ('10-sep-2014'));
Run Code Online (Sandbox Code Playgroud)
我在toad中运行两个查询.我发现第二个(选择计数(*))比第一个花费相对更多的时间(选择*)有人可以向我解释原因..谢谢
我在toad中运行两个查询
我发现第二个(选择计数(*))比第一个花费相对更多的时间(选择*)有人可以向我解释原因.
很明显,SELECT *比SELECT COUNT(*)在TOAD上执行它更快,因为TOAD是一个基于GUI的客户端工具,50 rows当你只是项目/选择行时,它只给你前几行(比如只在SQL Developer中).通过向下滚动查询结果,当您获取更多行时,经过的时间将不断增加.
另一方面,当你执行a时SELECT COUNT(*),它必须计算表中的所有行,而不是SELECT *仅返回TOAD中的前几行.
我没有TOAD,但我可以在SQL Developer中演示这种行为.
SELECT * 仅输出前50行:
向下滚动到500行后:
当您进一步向下滚动时,获取更多行所需的时间将会增加.
| 归档时间: |
|
| 查看次数: |
837 次 |
| 最近记录: |