select top 100 * from table1 order by column1, 先选择前100 个还是先排序?

herakless 2004-11-11 01:34:42
rt
...全文
450 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
zanyzyg 2004-11-11
  • 打赏
  • 举报
回复

楼上兄弟都说得那么详细了,试验一下就知道了啊。

本人推荐一个方法:
找个里面有超过1000万(越多越好,最好没有索引)条记录的数据表,然后用
select top 100 * from table
select top 100 * from table order by orderfield
分别看看运行的时间也许就知道了,并且保证你永远不会忘记的.




呵呵,开玩笑的.


mastersky 2004-11-11
  • 打赏
  • 举报
回复
经过试验:先排序后top
mastersky 2004-11-11
  • 打赏
  • 举报
回复
create table testaaa(aaa varchar(20),
bbb varchar(20))

insert into testaaa values('222','222')
insert into testaaa values('111','111')
insert into testaaa values('333','333')
insert into testaaa values('444','444')
insert into testaaa values('555','555')
insert into testaaa values('888','888')
insert into testaaa values('666','666')
insert into testaaa values('777','777')
insert into testaaa values('999','999')
insert into testaaa values('000','000')
insert into testaaa values('112','112')
insert into testaaa values('212','212')
insert into testaaa values('232','232')
insert into testaaa values('225','225')
insert into testaaa values('228','228')

select * from testaaa
select * from testaaa order by aaa
select top 10 * from testaaa order by aaa

结果————————————————————————————————————
(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)

aaa bbb
-------------------- --------------------
222 222
111 111
333 333
444 444
555 555
888 888
666 666
777 777
999 999
000 000
112 112
212 212
232 232
225 225
228 228

(所影响的行数为 15 行)

aaa bbb
-------------------- --------------------
000 000
111 111
112 112
212 212
222 222
225 225
228 228
232 232
333 333
444 444
555 555
666 666
777 777
888 888
999 999

(所影响的行数为 15 行)

aaa bbb
-------------------- --------------------
000 000
111 111
112 112
212 212
222 222
225 225
228 228
232 232
333 333
444 444

(所影响的行数为 10 行)
lyzzbbgo 2004-11-11
  • 打赏
  • 举报
回复
试一下不就知道了
lsxaa 2004-11-11
  • 打赏
  • 举报
回复
那就少数服从多数吧

先排序,再选择的!
kongzl 2004-11-11
  • 打赏
  • 举报
回复
先排序,再选择的!
egxsun 2004-11-11
  • 打赏
  • 举报
回复
应该是先排序,再选择
jasomliu 2004-11-11
  • 打赏
  • 举报
回复
先排序,再选~
ORARichard 2004-11-11
  • 打赏
  • 举报
回复
select top n ... 是在结果集中取前n条记录
ORARichard 2004-11-11
  • 打赏
  • 举报
回复
先排序,再选择。

这种问题自己试一下就知道了啊
davorsuker39 2004-11-11
  • 打赏
  • 举报
回复
这个是SQL里面的规定
davorsuker39 2004-11-11
  • 打赏
  • 举报
回复
先排序,然后进行选择
逍遥的心 2004-11-11
  • 打赏
  • 举报
回复
先排序后选择!!!!!
kookboy 2004-11-11
  • 打赏
  • 举报
回复
应该是先select 再where 然后才order by
xuam 2004-11-11
  • 打赏
  • 举报
回复
试一下不就知道了?
xiaoyao19811201 2004-11-11
  • 打赏
  • 举报
回复
先order by再top
zhangzs8896 2004-11-11
  • 打赏
  • 举报
回复
先order by,再top 100
lizmg 2004-11-11
  • 打赏
  • 举报
回复
先排序,后选择前100條記錄

樓主可以用5條數據試\下﹐用一個只有10條不同數據的表。
Andy__Huang 2004-11-11
  • 打赏
  • 举报
回复
先排序,后选择前100條記錄
aohan 2004-11-11
  • 打赏
  • 举报
回复
先排序,然后进行选择
加载更多回复(3)

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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