社区
ASP
帖子详情
请教一个关于ASP访问数据库时的速度问题?
inanition
2001-07-28 11:03:27
加精
我现在写一个社区网站,其中将用到大量的数据库访问,请问如何才能达到最高效率。
...全文
176
14
打赏
收藏
请教一个关于ASP访问数据库时的速度问题?
我现在写一个社区网站,其中将用到大量的数据库访问,请问如何才能达到最高效率。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
在网上及其流行的很高效的课件
首先,对于想要学好
ASP
的初学者来说,有
一个
科学的学习路径至关重要。学习之初,不应急于求成,而应扎实基础。建议从正规教材开始,逐章学习,深入理解每
一个
概念,同
时
配合课后练习,通过实践来巩固知识。在这个...
ASP
.NET网络高级管理员
通过查阅资料、在线搜索和
请教
同学,我学会了如何正确配置
数据库
连接字符串,理解了Web控件的事件处理机制,也掌握了调试技巧,如利用Visual Studio的断点和日志功能定位
问题
。 总的来说,
ASP
.NET网络高级管理员实...
毕业设计(论文)-基于-
asp
-net-的网站设计全稿.doc
例如,对于
一个
网上购物系统,核心需求可能包括商品展示、用户注册与登录、购物车管理、订单处理、支付集成、以及后台管理系统等功能。 1. **商品功能**:展示商品信息,包括图片、价格、库存等,支持商品分类和...
电子商务网站建设与管理实训总结.doc
电子商务网站的建设与管理是
一个
涉及多方面技术的综合性过程,本次实训涵盖了从网站前台设计到后台管理的诸多环节。在实训过程中,学生们深入理解了互联网技术在电子商务中的应用,尤其是
ASP
(Active Server Pages)...
在线考试系统 初学者的参考资料
在线考试系统是现代教育技术应用中的
一个
重要组成部分,它利用计算机技术和网络平台,为学生和教师提供了一种方便、快捷的考核方式。对于C#初学者来说,了解并掌握在线考试系统的开发是提升技能的重要步骤。以下是...
ASP
28,409
社区成员
356,968
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章