在一張10萬行產品表(PRoduct)中,隨機取10條數據的幾種方式:
SET STATISTICS IO ONSELECT TOP 10 ID FROM dbo.Product(NOLOCK)WHERE 0.01 >= CAST(CHECKSUM(NEWID(), ID) & 0x7fffffff AS FLOAT) / CAST(0x7fffffff AS INT)--掃描計數 1,邏輯讀取 5 次SELECT TOP 10 * FROM Product ORDER BY NEWID()--掃描計數 17,邏輯讀取 11628 次SELECT TOP 10*,NEWID() AS random FROM Product ORDER BY random--掃描計數 16,邏輯讀取 11242 次SELECT ID FROM Product WHERE ID IN (SELECT TOP 10 ID FROM Product ORDER BY NEWID())--掃描計數 17,邏輯讀取 2014 次
新聞熱點
疑難解答