当前位置: 网学 > 编程文档 > ASP > 正文

最大限度优化你的Asp性能

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
ECT count(city),city FROM publishers GROUP BY city

分类返回的数据:

SELECT * FROM TableName WHERE FieldName>50 OR FieldName<100 ORDER BY FieldName2, FieldName3

使用Odbc还是文件DSN连接数据库?使用快速的OLEDB Provider技术连接你的数据库而不是使用DSN连接。
不再需要恳求你的ISP(或数据库管理员/网管)为你建立一个系统DSN,当你移走Web文件的时候,亦不需要改变配置。

OLEDB 介于ODBC层和应用程序之间。
在你的ASP 页面中,ADO介于ODEDB之上的“应用程序”。
你的ADO调用首先被送到OLEDB,接着被送到ODBC层。
然而,你可以直接连接到OLEDB 层,并且如果你这样做的话,你就能看到服务器端性能的提高。
然而,怎样直接连接到OLEDB?如果你使用SQLServer 7,使用下面的连接代码连接数据库:

strConnString = "DSN='''';DRIVER={SQL SERVER};" & _"UID=myuid;PWD=mypwd;" & _"DATABASE=MyDb;SERVER=MyServer;"

最重要的参数是DRIVER=部分。
如果你要绕过ODBC而使用通过使用OLEDB 连接SQL Server(这是更快的连接),请使用下面的语法:

strConnString ="Provider=SQLOLEDB.1;Password=mypassword;" & _"Persist Security Info=True;User ID=myuid;" & _"Initial Catalog=mydbname;" & _"Data Source=myserver;Connect Timeout=15"

有什么不对的地方吗?现在你可能会觉得有点奇怪:我们在这个新的连接方法中的要点是什么呢?为什么不使用标准DSN-less/System DSN途径?呵,根据Wrox 在他的著作《ADO 2.0 Programmer''s Reference》中测试的结果表明,如果你使用OLEDB连接和DSN或者DSN-less连接方法比较,你会发现有下面的改进:

性能对比:SQL AccessOLEDB DSN OLEDB DSN连接时间: 18 82 连接时间: 62 99查询1,000条记录时间:2900 5400 查询1,000条记录时间: 100 950

注释:这个结果在Wrox的《ADO 2.0 Programmer''s Reference》一书的第232和233页可以查到。
时间的单位是毫秒,查询1,000记录时间是通过服务器端游标计算出来的(当使用客户端游标的时候,OLEDB与DSN记录集的性能之间的差别不大)。

ASP译码问题:尽可能在客户端确认用户输入来减少HTTP来回请求的数量。
如果浏览器有支持JavaScript或其它脚本的能力,使用它们的力量以释放更多的服务器资源。
下面的VBScript运行于客户端浏览器,在提交到你的服务器之前,用来验证用户信息:

<SCRIPT LANGUAGE="VBScript">
<!--
Sub btnEnter_OnClick
Dim TheForm
Set TheForm = Document.MyForm
If IsNumeric(TheForm.Age.Value) Then
TheForm.submit
Else
Msgbox "Please enter a numerical age."
End if
End Sub
//-->
</SCRIPT>

<FORM method="POST" name=MyForm action="myfile.asp">
Name: <INPUT typr="text" name="Name">
Age: <INPUT type="text" name="Age">}
<INPUT type="button" name="btnEnter" value="Enter">
</FORM>

使用局部变量,避免使用全局变量。
局部变量比全局变量更快地被Asp 脚本引擎存取,因为不需搜索整个名称域。
避免改变数组定义。
在第一次初始化的时候就简单分配足够的大小效率更高。
在这种情况下,你可能会浪费一些内存,但你获得了速度的优势。
在服务器负载重的时候这个技术是显然易见有效的。

如果你需要引用不一定要用到的对象,那么最好使用<OBJECT>标记而不是用 Server.CreateObject方法。
使用Server.CreateObject引起对象立即被建立,反之,<OBJECT&

  • 上一篇资讯: 如何增强ASP程序性能
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号