等效的两个SQL语句之性能比较

[复制链接]
查看11 | 回复3 | 2006-9-7 17:09:08 | 显示全部楼层 |阅读模式
语句一:
(select * from
(select * from leave_wordswhere type=1order byid)
where rownum0
在本机测试:
语句一耗时 10ns
语句二耗时 20ns
但语句一中(select * from leave_wordswhere type=1 order byid)是不是执行了两次,测试用的表记录很少,对于百万以上的记录,两者的性能对比是不是还是如此呢?
请了解情况的高手给分析一下, 讲讲理论!
回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
语句实现分页查询的功能, 记录少的话也就没必要分页了,关心的就是大量记录时的情况!
看来只能等到现场去试验了


回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
建议使用第二句, 数据量大的时候第二句的效率高一些
回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
我用40000多条记录的表验证了第二句的综合效率较高:
以 20条/页 查询第一页
第一句用时 290ns 左右
第二句用时 300ns 左右
以 20条/页 查询最后一页
第一句用时 12100ns 左右
第二句用时3900ns 左右
以上数据是多次测试的平均约数!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行