首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

資料庫隨機抽樣:Access RND() vs SQL Server NEWID()

     編輯:關於SqlServer

Access

SELECT TOP N * FROM 表 ORDER BY RND(自動編號欄位)

RND 需傳入數值種子,通常用主鍵/自動編號欄位。

SQL Server

SELECT TOP N * FROM 表 ORDER BY NEWID()

NEWID() 產生唯一識別碼 (GUID),排序即為隨機排序。

效能提示

  • 大表 ORDER BY NEWID() 需全表掃描並排序,較慢。
  • 百萬級以上資料建議:WHERE RAND() * (SELECT COUNT(*) FROM 表) < N 或使用 TABLESAMPLE SYSTEM (N PERCENT) (2005+)。
  • 小資料量 (<10萬) 直接 NEWID() 即可。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved