order by 问题

[复制链接]
查看11 | 回复6 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
select * from aaa order by bbb正常的安大小排序。
select * from aaa where rownum<=10 order by bbb取道的并不是虽小的十个,好像是先取10个在对10个排序。
怎样才能先整个表排序,再去最小的10个
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
如果where里面只有rownum<=10的话,应该是先排序了,再取出前十条。
要不试试select * from (select * from aaa order by bbb) where rownum<=10,但是这样的效率会低一些。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
索引bbb
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
我一建过bbb的索引了,并且是ASC的
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
我一建过bbb的索引了,并且是ASC的
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
set autotrace on explain
看看索引是否有启用
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
表里还有ccc的索引,我删掉它后就可以了。谢谢各位!
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行