首页 新闻 会员 周边 捐助

SQLSERVER关于随机取记录的优化

0
悬赏园豆:5 [已解决问题] 解决于 2014-01-21 21:14

我现在是 用select top 10 * from tableName order by NewID()来实现的,数据量小还可以接受,如果数据量大的话,速度会很慢

前两天也在博客园中看到过一个SQL取随机记录的效率比较,可是今天再搜索,就搜索不到了。

上面的代码可否优化?

DZCMS的主页 DZCMS | 初学一级 | 园豆:5
提问于:2013-11-13 23:59
< >
分享
最佳答案
0
收获园豆:5
.悟 | 菜鸟二级 |园豆:213 | 2013-11-14 00:31
其他回答(2)
0

创建索引NewID

平常心队长 | 园豆:1113 (小虾三级) | 2013-11-14 09:06
0

用一个子查询式(但这个只能在指定数据记录内取随机)

select top 10 * from tableName

where ID in (select top 1000 ID from tableName)

order by NewID()

为乐而来 | 园豆:1432 (小虾三级) | 2013-11-14 11:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册