|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。程序|功能|优化数据库会见
存取数据库将会很快地减慢程序,可是没无数据库,很多站点也不可。不要利用内植的SQL语句来存取数据库,你能够经由过程利用存储历程来会见数据库,这将会博得很年夜的程序功能,并且,也十分得天真。利用存储历程,并共同ActiveXDataObjects(ADO),就可以最年夜水平地把持存储历程怎样输入。
确认数据库经由了索引,由于这将间接影响到使用程序的全体功能。同时,注重在数据库上运转更新统计程序,从而更好地跟踪数据的散布。注重,一些数据库,好比MSAccess,不适于企业级使用,而SQLServer7.0大概Oracle更适于做这些。
让SQL做计划好的事情,包含对数据举行盘算、到场、排序和分组。不要用其他言语写这些功效,能够编写一个查询来完成。
任何要盘算的字段就是上面所示的复杂语法:
SELECTcount(*)FROMpublishersWHEREstate=NY
假如要盘算一个特别字段,必需先按谁人字段分组,不然,将不会事情:
SELECTcount(city),cityFROMpublishersGROUPBYcity
接着断定排序办法:
SELECT*FROMTableNameWHEREFieldName>50ORFieldName<100ORDERBYFieldName2,FieldName3
仍旧利用ODBC体系大概文件DSN来毗连数据库,大概利用很快的OLEDB手艺来毗连。利用后者,当挪动Web文件时,不再必要修正设置。
OLEDB位于使用程序与ODBC层之间。在ASP页面中,ADO就是位于OLEDB之上的程序。挪用ADO时,起首发送给OLEDB,然后再发送给ODBC层。能够间接毗连到OLEDB层,这么做后,将进步服务器真个功能。怎样间接毗连到OLEDB呢?
假如利用SQLServer7,利用上面的代码做为毗连字符串:
strConnString="DSN=;DRIVER={SQLSERVER};"&_
"UID=myuid;PWD=mypwd;"&_
"DATABASE=MyDb;SERVER=MyServer;"
最主要的参数就是“DRIVER=”部分。假如你想绕过ODBC而利用OLEDB来会见SQLServer,利用上面的语法:
strConnString="Provider=SQLOLEDB.1;Password=mypassword;"&_
"PersistSecurityInfo=True;UserID=myuid;"&_
"InitialCatalog=mydbname;"&_
"DataSource=myserver;ConnectTimeout=15"
为何这很主要
如今你大概奇异为何进修这类新的毗连办法很关头?为何不利用尺度的DSN大概体系DSN办法?好,依据Wrox在他们的ADO2.0程序员参考书本中所做的测试,假如利用OLEDB毗连,要比利用DSN大概DSN-less毗连,有以下的功能进步体现:
功能对照
SQLAccess
OLEDBDSNOLEDBDSN
毗连工夫:1882毗连工夫:6299
反复1,000个纪录的工夫:29005400反复1,000个纪录的工夫:100950
这个结论在Wrox的ADO2.0程序员参考宣布。工夫是以毫秒为单元,反复1,000个纪录的工夫是以服务器油标的体例盘算的。
●只要大概,就利用客户端剧本对用户输出举行考证,以此来最小化HTTP哀求的轮回操纵。
假如扫瞄用具备实行JavaScript或其他剧本的才能,请充实使用,从而束缚服务器真个资本。
上面的VBScript剧本在用户的扫瞄器端运转,反省用户信息,然后再提交给服务器:
<SCRIPTLANGUAGE="VBScript">
<!--
SubbtnEnter_OnClick
DimTheForm
SetTheForm=Document.MyForm
IfIsNumeric(TheForm.Age.Value)Then
TheForm.submit
Else
Msgbox"Pleaseenteranumericalage."
Endif
EndSub
//-->
</SCRIPT>
<FORMmethod="POST"name=MyFormaction="myfile.asp">
Name:<INPUTtypr="text"name="Name">
Age:<INPUTtype="text"name="Age">
<INPUTtype="button"name="btnEnter"value="Enter">
</FORM>
●利用部分变量,而不要利用全局变量
由于部分变量能够很快地被ASP剧本引擎所存取,全部名字空间不用被搜刮。制止重界说数组,在数组初始化时就分派充足的尺寸,会年夜年夜地进步效力。这么做大概华侈一些内存,可是确博得了速率,特别是在服务器有很年夜的负载时。
●利用<OBJECT>标志创立工具
假如必要援用一个实践上大概不被利用的工具,利用<OBJECT>标志来例示它们,而不要用Server.CreateObject。后者将招致工具当即被创立,而<OBJECT>是当工具被初次援用时才被创立。
好比,上面的代码演示了利用<OBJECT>标志来创立一个使用程序局限内的ADRotator工具实例:
<OBJECTrunat=serverscope=Applicationid=MyAdsprogid="MSWC.AdRotator">
</OBJECT>
然后,就能够在其他页面援用它:
●翻开“OptionExplicit”
在VB和VBScript中,你能够不必明白地界说就利用变量。可是翻开“明白界说变量”选项,将有助于进步程序功能。不决义的部分变量是很慢的,由于在变量创立前,全部的名字空间都要搜刮,看看是不是变量已存在。以是,请翻开“OptionExplicit”,这是一个好的编程习气。
●慎用Server.MapPath
除非必需,不要利用Server.MapPath!相反,假如晓得路径,就利用明白的笔墨路径来暗示。利用MapPath,将请求IIS往取回以后服务器路径,这意味着对IIS一个特别的哀求,从而下降了程序功能。别的的完成这个事情的办法是在部分变量中保留路径信息,当必要利用它时,服务器就不必再被过分哀求。
反省如何做
你能够经由过程上面的工具来测算服务器功能:TaskManager,NetMon和PerfMon。用WCAT(WebCapacityAnalysisTool)丈量服务器的容量。你可使用WCAT来反省Internet信息服务和收集设置怎样呼应分歧的客户端对内容、数据和HTML页面的哀求。测试的了局能够被用来决意怎样最优化服务器和收集设置。
经由过程最优化ASP使用程序功能,Web站点使用将会变得很快,终极做到:当不必要时,就不必要往做影响功能的点击。
总结
当谈到ASP功能时,要触及到很多方面,本文已会商了一些。可是,关于每一个详细</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|