完全优化ASP程序性能
来源: 阅读:685 次 日期:2014-09-10 17:44:45
温馨提示: 小编为您整理了“完全优化ASP程序性能”,方便广大网友查阅!

ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了。虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情。

现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了。那就跟随我来一同加速你的ASP程序吧!


一. 有关操作数据库的优化方法

我们使用ASP最主要的用途就是对数据库进行操作了,如何更快速的完成这些动作呢?

1. 不要任意使用“SELECT*......”

请尽量拾取你所需要的那些字段,比如,一个Table中有10个字段,但是你只会用到其中的一个字段(name),就要使用“select name from yourtable”,而不是用“select * from yourtable”。你或许会说,我是这么做的阿,但是,如果一个table中有50个字段,你需要用到其中的23个字段的时候,你会怎么做呢?为了节省打字以及查找对应字段名称的麻烦,你就不一定会老老实实的用“select name,sex,age... from yourtable”了吧!

实际证明,尽量拾取你所需要的那些字段来使用select语句将会是你的ASP程序至少加快5%左右。

2. 尽可能使用系统存储过程(针对MS SQL Server)

有的时候完成一个读取操作,使用SQL语句和存储过程同样可以完成,但是使用存储过程将会大大加快完成读取操作的速度,也就提高了你的ASP程序运行的速度。

3. 注意你的游标使用方法

如果你仅仅是对一个table进行读取操作,那么请你使用forward-only,read-only游标,因为这种游标读取数据库是最为快速的,尤其是你的读取数据量很大的情况下。

4. 不要打开无用的独立记录集

也许你在笑了,我会打开没有用的记录集吗?是的,你当然会,比如在生成一个树型记录集的时候,你不得不打开父记录集以及对应的子记录集,甚至还有孙记录集,其实你可以使用ADO提供的Data Shaping技术来替代打开多个独立的记录集,那样会加快程序的运行速度。(关于Data Shaping的用法可以参考ADO帮助)

5. 一定要记着关闭打开的记录集对象以及连接(Connection)对象

有些朋友总是奇怪为何自己的ASP程序刚开始的时候运行速度很快,可是多运行几遍就越来越慢了呢?甚至出现服务器死机的情况。发生这种情况,就很可能是你打开了太多的记录集对象以及连接(Connection)对象而最后却没有关闭他们引起的。使用如下方法进行关闭:

YourRecordSet.close

Set YourRecordSet=Nothing

Set YourConnection=Nothing

6. 取得数据库数据的方法比较

你是如何得到记录集的数据的呢?是不是用YourRecordSet(字段编号),还是YourRecordSet("字段名称")?其实还有其他的使用方法,现在我们就比较一下吧(100条记录):

Rs("字段名称")

Rs("字段名").Value

Rs("字段编号")

Set方法

数据库回应时间

2.967秒

2.936秒

1.650秒

0.586秒

2.824秒

2.914秒

1.611秒

0.602秒

2.893秒

2.943秒

1.613秒

0.594秒

平均回应时间

2.895秒

2.931秒

1.625秒

0.594秒

这下知道了吧,前三种方法大家都可以看的明白,我就说说第四种方法(Set方法)如何使用:

Dim strSQL

StrSQL="select name,sex,age from yourtable"

Dim rs

Set rs=server.createobject("ADODB.RECORDSET")

Rs.open strSQL,conn,1,1

Const fieldsOrder=2

Dim objOrder

Set objOrder=rs(fieldsOrder)

Response.write objOrder'Set方法

二. 有关ASP内置对象使用方面的优化方法

1. 尽量减少Session对象和Application对象的使用

虽然ASP中提供的这两个对象对我们的编程提供了很大的帮助,但是,对这两个对象要合理的使用,不要滥用。

更多信息请查看IT技术专栏

更多信息请查看网络编程
手机网站地址:完全优化ASP程序性能
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map