随机读取数据库100条记录SQL语句

linfe369 2010-03-10 10:31:04
数据库1000W万条记录,查找100条记录竟然用了6分钟……
所以希望求一条SQL语句.
id
username
sex
moble
Phone
Address
Funds
Funds2
Credential
Credit
Notes
creat_time
Status
...全文
1216 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
老黎 2010-03-10
  • 打赏
  • 举报
回复
select top 100 * from tb 
zhouzhijian888 2010-03-10
  • 打赏
  • 举报
回复
设置主键 比如 id
用 top 和 指定 where 条件
都 可以提高效率
SQL77 2010-03-10
  • 打赏
  • 举报
回复
ID利用自增列呀,随机读取肯定啦,ORDER BY NEWID()是乱的
sql_db 2010-03-10
  • 打赏
  • 举报
回复
随机取的话,估计你也不在乎是什么数据,所以不要order by了

select top 100 * from tb 
--小F-- 2010-03-10
  • 打赏
  • 举报
回复
关键字段加聚集索引 .......
cailee 2010-03-10
  • 打赏
  • 举报
回复
select top 100 *
from tb
order by newid()
jwdream2008 2010-03-10
  • 打赏
  • 举报
回复
添加索引啊!!!!!!!!!!!!
  • 打赏
  • 举报
回复
SELECT TOP 100 * FROM Sales ORDER BY CHECKSUM(NEWID())
这样会好点,有个索引那就最好了
ShenLiang2025 2010-03-10
  • 打赏
  • 举报
回复
Hi,



SELECT TOP 100 * FROM Sales ORDER BY CHECKSUM(NEWID())

黄_瓜 2010-03-10
  • 打赏
  • 举报
回复
order by newid()
精华区有讨论它的原理的一篇帖子,有兴趣的可以搜索一下看看
1000W的数据 这样整效率当然很慢了
milkman_nuaa 2010-03-10
  • 打赏
  • 举报
回复
随机函数newid(),好好学习
happy664618843 2010-03-10
  • 打赏
  • 举报
回复
create index index_name on tableName(ColumnName)
linfe369 2010-03-10
  • 打赏
  • 举报
回复
引用 12 楼 linfe369 的回复:
就是随取抽取记录之后改变他们这一行的状态字段
没读取的时候是1,读取之后改成2.以后就不再读取


我现在就是想需要这种
xiaoping04408 2010-03-10
  • 打赏
  • 举报
回复
引用 2 楼 cailee 的回复:
SQL codeselecttop100*from tborderbynewid()

--正解
jamsonwoo 2010-03-10
  • 打赏
  • 举报
回复
select top 100 * from tb order by newid()
linfe369 2010-03-10
  • 打赏
  • 举报
回复
就是随取抽取记录之后改变他们这一行的状态字段
没读取的时候是1,读取之后改成2.以后就不再读取
东那个升 2010-03-10
  • 打赏
  • 举报
回复
select top (100) * from tb order by newid()
heenrong775221 2010-03-10
  • 打赏
  • 举报
回复
拿分走人。。。。。。。。。
feixianxxx 2010-03-10
  • 打赏
  • 举报
回复
Rotel-刘志东 2010-03-10
  • 打赏
  • 举报
回复
随机读取id是没有顺序的。

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧