asp随机提取数据库数据问题,急!!!!!

alex_sh 2006-02-12 10:31:24
<%
n=1 ''取任意1条记录
set rs = server.CreateObject ("adodb.recordset")
sql = "select * from shuju"
rs.open sql,conn,1,1
count=rs.recordcount ''记录总数
IF Count<>empty Then
Randomize
for i = 1 to n ''循环n次
num=Fix(Rnd*count) ''num便是随机产生的记录行数,用Fix(),使其不会大于count值。
rs.move num ''移到改随机行
Response.write "<tr><td><font size=5><b> "&rs("mail")&"</font></b></td></tr>" ''出该条记录
rs.movefirst ''别忘了再把指针移到第一条
next
End IF
rs.close
set rs = nothing
%>

这个是我现在用的方法,但是表中有55万条记录,每次都要count=rs.recordcount ''记录总数,再随机产生的记录行数,使得网页执行速度很慢,大家有什么更好的办法吗?

ps:现在表中55万数据是根据英文字母顺序排列的,所以像用每次提示id头一条或最后一条,再做标记下次不提取的方法不行,因为我要求数据是随机提示
...全文
108 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
earthpea 2006-02-12
  • 打赏
  • 举报
回复
什么数据库?
如果是ACCESS的话,SELECT top 10 * FROM tblTable ORDER BY Rnd(FId)

如果是SQL SERVER的话,select top 10 * from tablename order by NEWID()

mysql数据库:select * from tablename order by rand() limit 10

试试看吧.
  • 打赏
  • 举报
回复
getrows

try

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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