sql随机查询数据order by newid()
Posted WebAPI
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql随机查询数据order by newid()相关的知识,希望对你有一定的参考价值。
方法1:最普通的写法,性能慢
SELECT top 10 ID,name FROM dt_keyword ORDER BY NEWID()
方法2:性能还可以
//先给数据库增加一列
ALTER TABLE dt_keyword ADD SortKey AS NEWID()
//查询时执行下边sql SELECT top 10 ID,name FROM dt_keyword WHERE SortKey LIKE ‘A%B%C%D%E%F%‘
方法3:效率还好,含sql2008以上支持
SELECT TOP 10 * FROM dt_keyword tablesample (10000 Rows)
方法4:如果id连续,速度最快
SELECT top 10 * FROM dt_keyword where id>=(select count(ID) from dt_keyword)*rand()
方法5:如果id不连续,速度最快
SELECT top 10 * FROM dt_keyword
where id>=(select max(ID) from dt_keyword)*rand()
//如果您有更好的方法请留言
以上是关于sql随机查询数据order by newid()的主要内容,如果未能解决你的问题,请参考以下文章