社区
ASP
帖子详情
请教一个关于ASP访问数据库时的速度问题?
inanition
2001-07-28 11:03:27
加精
我现在写一个社区网站,其中将用到大量的数据库访问,请问如何才能达到最高效率。
...全文
163
14
打赏
收藏
请教一个关于ASP访问数据库时的速度问题?
我现在写一个社区网站,其中将用到大量的数据库访问,请问如何才能达到最高效率。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
乱码
2001-07-30
打赏
举报
回复
neweb(永不言败) 说得很清楚很全面了
散分吧
tripofdream
2001-07-30
打赏
举报
回复
neweb(永不言败)已经说了很多,就不再多说了,补充一点,在使用SQL SERVER时,我们常常会发现SQL SERVER占用了上百M的内存,数据查询变得十分缓慢,重启后就变得很快,造成这种情况的原因通常是使用connection没有及时释放,占用的资源越来越多,甚至导致假死机.
如果记录很多(比如有几十万条以上),而且访问量很大的情况下,就要使用分布式SQL SERVER并行处理了.
hp1200
2001-07-30
打赏
举报
回复
up
neweb
2001-07-29
打赏
举报
回复
Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=xxx;Data Source=127.0.0.1
区别在于provider 和 driver吧,有时间自己测试一下各种连接方式
inanition
2001-07-29
打赏
举报
回复
To neweb:
首先谢谢您的不吝指教,我真的受益非浅。
但关于WEB服务器响应数据库访问这方面我还是不太明白,可否讲解一二,或着介绍我要看哪方面的书籍或资料都可以。
feigmin
2001-07-29
打赏
举报
回复
请问:neweb!
我还有一点不明白,
Set conn = Server.CreateObject("ADODB.Connection")
DBPath="driver={SQL Server};server=name;uid=username;pwd=password;database=dataname"
conn.Open DBPath
这样建立的是DSN连接吧?怎么用OLEDB连接数据库?能写一下代码吗?
谢谢!
neweb
2001-07-28
打赏
举报
回复
这个问题有点大,我针对 sql server 说几点:
1. 用oledb连接而不用DSN,
2. 对于复杂的查询并且参数不多的情况,请用存储过程,
3. 利用好视图、触发器
xukey
2001-07-28
打赏
举报
回复
http://www.csdn.net/develop/library/asp/use/8536.shtm
neweb
2001-07-28
打赏
举报
回复
1. OLEDB处于ODBC层和应用之间。对于ASP页面来说,ADO是OLEDB上的一种“应用”。ADO调用首先发送给OLEDB,然后才被发送给ODBC层。如果直接连接到OLEDB层,性能当然会有所提升。Wrox在ADO 2.0 Programmer's Reference这本书中的测试结果:
项目 OLEDB DSN
连接时间: 18 82
迭代1000个记录: 2900 5400
2. 一般来说,存储过程比嵌入式SQL语句性能要好,越复杂的查询优势越明显,如果逻辑简单参数又多,就没必要写存储过程了,嘿嘿。
3. 强烈反对“用application("cnCommon")保存connection”,这样将放弃数据库连接池的好处,用户多的时候大家都在争抢application("cnCommon")这一个连接,而浪费了数据库的并发性能,建议使用包含文件建立数据库连接。
4. 数据库连接在用的时候才打开,用完立即关闭(数据库不会真正地关闭连接,而会在连接池中放一段时间)。
5. >>要在许多的地方访问数据库
是否数据库结构还有待完善?或者能否尽量用一条或一个存储过程代替多次查询?
6. 优化数据库表结构,减少冗余及重复数据,必要时可将一个表拆为几个表。
7. 仔细地建立索引。
8. 如果并不需要所有的列,不要动辄select * from tb, 而是 select xx,xx,xx from tb
9. 如果要重复使用记录集中的某字段,请将该字段值放如变量中。
一口气写了不少,望大吓们指正。
feigmin
2001-07-28
打赏
举报
回复
难道没人知道??
请问版主,你知道吗??
feigmin
2001-07-28
打赏
举报
回复
另外,我听人说,这个论坛就是SQL数据库,这么多人访问速度还是很快,但我的论坛(http://www.ehang.com.cn/bbs)就不行了,现在才三万条记录就比较慢了,而却很不稳定.各位大侠,探讨探讨吧!
feigmin
2001-07-28
打赏
举报
回复
我也正遇到这个问题,兄弟,能否告知QQ,咋们俩先探讨探讨(7767570)!!
那位高手能帮帮忙啊!!兄弟在此先谢过!
inanition
2001-07-28
打赏
举报
回复
我想详细描述一下我的问题:
我因为要在许多的地方访问数据库,所以我曾想在application_onstart时建一个connection,打开它,用application("cnCommon")保存起来,然后在其它地方要用的时候再调用,我不知道这种方法是不是最好,或者说行不行,有没有更好的。
而我现在因为是用SQL Server,正如neweb所说,我想尽量使用SQL Sever提供的各种机制来加快速度,但好像connection对像的execute方法无法执行带parameter的storedprocedure,所以我只得用command,但command究竟是在什么时候建立数据库连接呢?我不太清楚,我用如下语名建立command:
set command = server.createobject("adodb.command")
command.activeconnection = strconn '连接database的string,并非一个connection object.
这样建立一个command之后,它是不是在每次execute的时候才建立数据库连接呢,这样岂不是每次执行一次都建立一次连接,太慢了。
另外还想问一下neweb:
1.为什么用oledb比用dsn要快?
2.参数多的storedprocedure是否比sql string速度更慢?
烦请多讲述一些原理,谢谢。
ketao_78
2001-07-28
打赏
举报
回复
请具体点!
asp
.net知识库
.NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合
ASP
.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎...
软装公司行业网站设计方案.doc
" " " "(9) 计数器:主要是记录公司网站的
访问
量可放置在一个不是很现眼的地方" "。 " " " "(10)在线调查:对有助于行业、公司发展的内容进行网上调查,在线调查系" "统是基于NT平台下,应用
ASP
语言和ACCESS
数据库
...
请教
asp
如何通过ODBC连接ORACLE
数据库
?
请教
asp
如何通过ODBC连接ORACLE
数据库
?[复制链接] 11 sky_n 白手起家 帖子14主题10精华0可用积分19 信誉积分100 专家积分0 在线
时
间2 小
时
注册
时
间2004-06-13最后登录2010-01-18 问答好友博客 ...
Dreamweaver做
ASP
程序
时
数据库
的几个常见
问题
但我们在用DW制作
ASP
+access程序
时
,经常会出现这样或那样的错误,尤其是
数据库
方面显得特别突出。本文就此方面出现的一些常见的
问题
谈谈其原因及解决办法。 一、上传网页
时
出现如下错误:Microsoft OLE DB Provider...
实
时
数据库
简介
一提到
数据库
,大家肯定会想到SQL Server、Oracle等关系型
数据库
。实际上,
数据库
的种类非常多,在计算机发展的历史上,存在着多种类型的
数据库
。 早期,关系型
数据库
与层次型
数据库
、网络型
数据库
并驾齐驱,但关系...
ASP
28,391
社区成员
357,059
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章