sql随机查询数据的几种解决方案:
方法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 server 2008完全卸载方法(其他版本类似)第22页
更多相关阅读请进入《sql》频道 >>
数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。