ASP网页设计怎样制止asp的SQL的实行效力低 (转载)
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。实行办法1、只管利用庞大的SQL来取代复杂的一堆SQL.一样的事件,一个庞大的SQL完成的效力高于一堆复杂SQL完成的效力。有多个查询时,要擅长利用JOIN。
oRs=oConn.Execute("SELECT*FROMBooks")
whilenotoRs.Eof
strSQL="SELECT*FROMAuthorsWHEREAuthorID="&oRs("AuthorID")oRs2=oConn.Execute(strSQL)
Response.writeoRs("Title")&">>"&oRs2("Name")&"
"
oRs.MoveNext()
wend
要比上面的代码慢:
strSQL="SELECTBooks.Title,Authors.NameFROMBooksJOINAuthorsONAuthors.AuthorID=Books.AuthorID"
oRs=oConn.Execute(strSQL)
whilenotoRs.Eof
Response.writeoRs("Title")&">>"&oRs("Name")&"
"
oRs.MoveNext()
wend
办法2、只管制止利用可更新Recordset
oRs=oConn.Execute("SELECT*FROMAuthorsWHEREAuthorID=17",3,3)
oRs("Name")="DarkMan"
oRs.Update()
要比上面的代码慢:
strSQL="UPDATEAuthorsSETName=DarkManWHEREAuthorID=17"
oConn.ExecutestrSQL
办法3、更新数据库时,只管接纳批处理更新
将一切的SQL构成一个年夜的批处置SQL,并一次运转;这比一个一个地更新数据要无效率很多。如许也加倍满意你举行事件处置的必要:
strSQL=""
strSQL=strSQL&"SETXACT_ABORTON
";
strSQL=strSQL&"BEGINTRANSACTION
";
strSQL=strSQL&"INSERTINTOOrders(OrdID,CustID,OrdDat)VALUES(9999,1234,GETDATE())
";
strSQL=strSQL&"INSERTINTOOrderRows(OrdID,OrdRow,Item,Qty)VALUES(9999,01,G4385,5)
";
strSQL=strSQL&"INSERTINTOOrderRows(OrdID,OrdRow,Item,Qty)VALUES(9999,02,G4726,1)
";
strSQL=strSQL&"COMMITTRANSACTION
";
strSQL=strSQL&"SETXACT_ABORTOFF
";
oConn.Execute(strSQL);
个中,SETXACT_ABORTOFF语句告知SQLServer,假如上面的事件处置过程当中,假如碰到毛病,就作废已完成的事件。
办法4、数据库索引
那些将在Where子句中呈现的字段,你应当起首思索创建索引;那些必要排序的字段,也应当在思索之列。
在MSAccess中创建索引的办法:在Access内里选择必要索引的表,点击“计划”,然后设置响应字段的索引.
在MSSQLServer中创建索引的办法:在SQLServer办理器中,选择响应的表,然后“计划表”,点击右键,选择“Properties”,选择“indexes/keys”
办法5、制止使Text字段太年夜
当字符串的值巨细不流动时,用varchar比用char的效果要好些。我已经看到一个例子程序,字段被界说为TEXT(255),可是他的取值常常只要20个字符。这个数据表有50k个纪录,从而使这个数据库很年夜,年夜的数据库一定较慢。
</p>由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
页:
[1]