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()

 

//如果您有更好的方法請留言


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM