如何查询第100001到第100010条记录??请分析SQL的执行效率。谢谢!

junerr 2004-04-28 02:18:13
在Oracle中的方法我知道,有许多种方法,其中效率最好的是
select * from table1 where rowid in
(select ri from
(select rownum rn,rowid ri from table1 where rownum<100011)
where rn>100000)

但我对Sybase还不熟悉
请问Sybase中有什么方法可以实现这样的查询?
欢迎大家畅所欲言,只要是行得通的方法,我都会给分。
请在给出实现的SQL后顺便分析执行的效率。
谢谢!
...全文
215 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lllyg 2004-04-29
  • 打赏
  • 举报
回复
那要看看你的数据库有多少纪录,优化你的查询语句,还有配置数据库,索引的使用,是否整理过碎片,总之,有很多因素会影响
xyzhh 2004-04-29
  • 打赏
  • 举报
回复
sybase中是行不通的,建议你还是寻求别的方案,如果能在表中加一个字段是最好的解决方案。
如果实在是要这样做,那就自己建个临时表把数据导入进行排序,至于性能。。。肯定好不了!
junerr 2004-04-28
  • 打赏
  • 举报
回复
to lllyg(bloom):
>>如果要效率的话,因该是在很短的时间内,查出100000条记录,
能不能具体地说,你是怎样查询的?

junerr 2004-04-28
  • 打赏
  • 举报
回复
to liony:
>>什么是关系数据库?本身关系数据库查询结果就没有顺序的。
>>查询出来十几万条结果再卖弄技巧,就这么查还分析执行效率,您觉得有意义吗?

这种类型的查询是很平常的事情,论坛的帖子列表就是这种情况
论坛的帖子数达到几十万也是很平常的事情,
从几十万记录中查找10条或20条记录出来显示在网页上也是很平常的事情
这样常用的一个查询,讨论实现的方法,分析方法的效率,怎么会没有意义?
意义就在于显示一个页面是用10秒还是0.1秒
我想你也不愿意久久地对着电脑屏幕和那个该死的查询一块发呆吧

lllyg 2004-04-28
  • 打赏
  • 举报
回复
如果要效率的话,因该是在很短的时间内,查出100000条记录,
hkzhou 2004-04-28
  • 打赏
  • 举报
回复
up
liony 2004-04-28
  • 打赏
  • 举报
回复
什么是关系数据库?本身关系数据库查询结果就没有顺序的。
查询出来十几万条结果再卖弄技巧,就这么查还分析执行效率,您觉得有意义吗?

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧