SQL: 从一个表随机读取一行或几行记录的问题

比如ms sql 2000,随机读取了一行记录:

SELECT TOP 1 * FROM [tablename] ORDER BY NEWID()

遇到的问题是,如果这个表记录不多,比如几十或几百、几千行记录,基本上不用1秒时间就出来了。

但我今天需要从一个几十万行记录的表中随机读取一条记录,读取一次需要3 - 5秒。

这效率有点接受不了。

到网上也搜索了一下,有没有更好的办法,没找到好的办法。

关于这个问题的讨论,CSDN: http://topic.csdn.net/u/20100517/11/e88bbddf-e3dd-49ac-8a57-af52553c60f9.html

2012-01-04

原文地址:https://www.cnblogs.com/personnel/p/4583161.html