access 数据库问题,大家帮帮忙

dfboyxing 2009-07-23 10:43:33
我做了个测试有两个页面一个 1.asp,2.asp
1.asp 内容是简单的数据库数据查询,平常访问时很快。
2.asp 如下内容
<%
for i=1 to 10000
'取得商务一部的当月目标
set rsO1=server.CreateObject("adodb.recordset")
sqlO1="select * from Operation where UserId=1000 and OperationDate=#"&cdate(year(date())&"-"&month(date()))&"#"
rsO1.open sqlO1,conn,1,1
if not rsO1.eof then
target1=rsO1("target")
end if
rsO1.close():set rsO1=nothing
next
conn.close():set conn=nothing
%>


问题:当我访问2.asp的时候须要30秒,就在访问2.asp的同时另开一页访问1.asp,这时1.asp也变的很慢须要等2.asp运行结束后才开始运行1.asp。而且数据库会生成一个 .ldb 的日志文件。

这个问题该如何解决,2.asp 慢点没关系(关键是他会影响其它页面的访问,怎么才能让 他不影响 1.asp 的迅速)
...全文
175 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
月光下的土豆 2009-07-23
  • 打赏
  • 举报
回复
你现在须要解决的是时效与业务的问题
dfboyxing 2009-07-23
  • 打赏
  • 举报
回复
有没有人,帮忙解决一下,在线关注。
dfboyxing 2009-07-23
  • 打赏
  • 举报
回复
我这只是打个比方测试有啊,实际运用(是取所有商务部当月的目标,公司有多少业务员就执几次)
gxq323 2009-07-23
  • 打赏
  • 举报
回复
循环10000次没意义,最后取得的值还不就是target1吗?你万一最后一条记录rsO1("target")=“”呢?
dfboyxing 2009-07-23
  • 打赏
  • 举报
回复
可能我用2.asp 影响 1.asp 的迅速(这个有点不恰当)。准确的来说是 1.asp 要等 2.asp 执行完了再运行。(这个问题应该是出现在数据的 .ldb 文件锁 我猜的 但是不知道怎么解决)

回复楼上 上面报什么错 (记集在打开的时候,不能在打开了。)
月光下的土豆 2009-07-23
  • 打赏
  • 举报
回复
set rsO1=server.CreateObject("adodb.recordset")
sqlO1="select * from Operation where UserId=1000 and OperationDate=#"&cdate(year(date())&"-"&month(date()))&"#"
rsO1.open sqlO1,conn,1,1

你这个执行10000次,而且是每执行一资都要创建一次rsO1
这样这个就会占用大量的资源,当然会影响1.asp的速度了


上面报什么错

dfboyxing 2009-07-23
  • 打赏
  • 举报
回复
回复1楼的,
运行错误,再说这也不我想要解快的问题,2.asp 的速度优化,先不管。怎么才能解决我说的 2.asp 慢点没关系(关键是他会影响其它页面的访问,怎么才能让 他不影响 1.asp 的迅速)
月光下的土豆 2009-07-23
  • 打赏
  • 举报
回复

set rsO1=server.CreateObject("adodb.recordset")
for i=1 to 10000 '取得商务一部的当月目标
sqlO1="select * from Operation where UserId=1000 and OperationDate=#"&cdate(year(date())&"-"&month(date()))&"#"
rsO1.open sqlO1,conn,1,1
if not rsO1.eof then
target1=rsO1("target")
end if
next
rsO1.close():set rsO1=nothing
conn.close():set conn=nothing

验证一下吧。一定比你的省时
dfboyxing 2009-07-23
  • 打赏
  • 举报
回复
我错了,
dfboyxing 2009-07-23
  • 打赏
  • 举报
回复
1.asp
<%
Response.Write(now())
set rsO1=server.CreateObject("adodb.recordset")
sqlO1="SELECT * FROM [user]"
rsO1.open sqlO1,conn,1,1
if not rsO1.eof then
Response.Write(" ")
end if
rsO1.close
set rsO1=nothing
conn.close():set conn=nothing

Response.Write("<br>")
Response.Write(now())
%>


2.asp

<%
Response.Write(now())
set rsO1=server.CreateObject("adodb.recordset")
for i=1 to 10000 '取得商务一部的当月目标
sqlO1="select * from Operation where UserId=1000 and OperationDate LIKE '%"&cdate(year(date())&"-"&month(date()))&"%'"
rsO1.open sqlO1,conn,1,1
if not rsO1.eof then
target1=rsO1("target")
end if
rsO1.close
next
set rsO1=nothing
conn.close():set conn=nothing

Response.Write("<br>")
Response.Write(now())
%>


先运行2.asp 1移后刷新 1.asp
结果:2.asp 显示
2009-7-23 16:28:39
2009-7-23 16:29:07
1.asp 显示
2009-7-23 16:29:07
2009-7-23 16:29:07
dfboyxing 2009-07-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 toury 的回复:]
2.asp的sql语句出错时才会出现你说的等待。检查代码逻辑先
OperationDate LIKE 一下看看,别用OperationDate=
[/Quote]
用like 还是同样的问题,两个页面还是同时执行完。
toury 2009-07-23
  • 打赏
  • 举报
回复
2.asp的sql语句出错时才会出现你说的等待。检查代码逻辑先
OperationDate LIKE 一下看看,别用OperationDate=
dfboyxing 2009-07-23
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 toury 的回复:]
只要你连库(ACCESS)了,那个.ldb文件就会出现,你的猜测是错的
[/Quote]
我的意思是
当access 打开conn的时候 都会产生.ldb 文件 这个是没错的。
但是我不明白当 2.asp 只是读数据的时候。1.asp会等待 2.asp读数据完后再运行呢。同样是读数据又没写操作为什么不能同时进行(有什么办法让他们同时进行) 不知道我表达是否有误。
toury 2009-07-23
  • 打赏
  • 举报
回复

set rsO1=server.CreateObject("adodb.recordset")
for i=1 to 10000 '取得商务一部的当月目标
sqlO1="select * from Operation where UserId=1000 and OperationDate LIKE '%"&cdate(year(date())&"-"&month(date()))&"%'"
rsO1.open sqlO1,conn,1,1
if not rsO1.eof then
target1=rsO1("target")
end if
rsO1.close
next
set rsO1=nothing
conn.close():set conn=nothing
toury 2009-07-23
  • 打赏
  • 举报
回复
只要你连库(ACCESS)了,那个.ldb文件就会出现,你的猜测是错的
RandyTech 2009-07-23
  • 打赏
  • 举报
回复

set rsO1=server.CreateObject("adodb.recordset")
for i=1 to 10000 '取得商务一部的当月目标
sqlO1="select * from Operation where UserId=1000 and OperationDate=#"&cdate(year(date())&"-"&month(date()))&"#"
rsO1.open sqlO1,conn,1,1
if not rsO1.eof then
target1=rsO1("target")
end if
rsO1.close
next
set rsO1=nothing
conn.close():set conn=nothing


试试这个
程序介绍: ◎前言:这是应一个MM的要求,搞了一个类似于知识库的系统,为了方便她快速搜索到需要的文章和问题答案,因此就做成了现在这样的搜索为主的cms,里面存放了大约3000篇以上的知识量,涉及到3大类10几个层面,涵盖了衣食住行、生活娱乐、电脑知识、动植物等,甚至是三国演义和西游记全篇,这个文件这么大,就是因为数据库内容太多了!不过这样大家一下下来就能用了! ◎特点:系统用了智能拆分关键字查询和分类别查询,主要就用到3个文件,包括一个错误提示页!后台可要可不要,自己掂量掂量看看是否需要就是! ◎设计:界面比较漂亮,完全是down 别人的,因为过年了,设计师都忙着回家,没空帮我,不过的确很不错,希望你会和我一样喜欢!logo和head 都留空,你可以自己进images修改它,想取什么名称就取什么名称, ◎安全:因为我也要回家过年,而且这本身就只针对MM个人电脑使用,本人没怎么认真对待,(惭愧~~~)但对于普通的菜鸟,应该是没问题的,如果你是入侵高手,建议自己在检测和修缮下,如果可以,到我们的论坛发表下! ◎其他:后台可以设置这个站点的名称和网站开关,也可以屏蔽指定的IP访问,由于我是拷贝CMS的config,因为没有删除其他的内容,(再次惭愧~~,)貌似没什么影响!如果你需要本地测试,建议把数据库备份,然后删除2500篇内容,不然会影响你测试速度,尤其是服务器配置不好的同志! ◎最后:本程序是小治技术社区的坏孩子作品,感谢社区的编程高手对本人给与技术上的指点!发布此版本旨在与众网友交流学习,整理过程中较为仓促,难免有疏漏,请大家提出指正。

28,391

社区成员

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

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