如何避免asp的SQL的执行效率低

cnnlyjv05549

cnnlyjv05549

2016-01-29 18:33

如何避免asp的SQL的执行效率低,如何避免asp的SQL的执行效率低
  方法一、尽量使用复杂的SQL来代替简单的一堆 SQL.

  同样的事务,一个复杂的SQL完成的效率高于一堆简单SQL完成的效率。有多个查询时,要善于使用JOIN。
oRs=oConn.Execute("SELECT * FROM Books")
while not oRs.Eof
strSQL = "SELECT * FROM Authors WHERE AuthorID="&oRs("AuthorID") oRs2=oConn.Execute(strSQL)
Response.write oRs("Title")&""&oRs2("Name")&"
&q uot;
oRs.MoveNext()
wend
要比下面的代码慢:
strSQL="SELECT Books.Title,Authors.Name FROM Books JOIN Authors ON Authors.AuthorID=Books.AuthorID"
oRs=oConn.Execute(strSQL)
while not oRs.Eof
Response.write oRs("Title")&""&oRs("Name")&"
&qu ot;
oRs.MoveNext()
wend


方法二、尽量避免使用可更新 Recordset

oRs=oConn.Execute("SELECT * FROM Authors WHERE AuthorID=17",3,3)

oRs("Name")="DarkMan"

oRs.Update()

要比下面的代码慢:
strSQL = "UPDATE Authors SET Name='DarkMan' WHERE AuthorID=17"
oConn.Execute strSQL

方法三、更新数据库时,尽量采用批处 理更新

  将所有的SQL组成一个大的批处理SQL,并一次运行;这比一个一个地更新数据要有效率得多。这样也更加满足你进行事务处理 的需要:
strSQL=""
strSQL=strSQL&"SET XACT_ABORT ONn";
strSQL=strSQL&"BEGIN TRANSACTIONn";
strSQL=strSQL&"INSERT INTO Orders(OrdID,CustID,OrdDat) VALUES('9999','1234',GETDATE())n";
strSQL=strSQL&"INSERT INTO OrderRows(OrdID,OrdRow,Item,Qty) VALUES('9999','01','G4385',5)n";
strSQL=strSQL&"INSERT INTO OrderRows(OrdID,OrdRow,Item,Qty) VALUES('9999','02','G4726',1)n";
strSQL=strSQL&"COMMIT TRANSACTIONn";
strSQL=strSQL&"SET XACT_ABORT OFFn";
oConn.Execute(strSQL);
其中,SET XACT_ABORT OFF 语句告诉SQL Server,如果下面的事务处理过程中,如果遇到错误,就取消已经完成的事务。

方法四、数据库索引

  那些将在Where子句中出现的字段,你应该首先考虑建立索引;那些需要排序的字段,也应该在考虑之列 。
在MS Access中建立索引的方法:在Access里面选择需要索引的表,点击“设计”,然后设置相应字段的索引.
在MS SQL Server中建立索引的方法:在SQL Server管理器中,选择相应的表,然后“设计表”,点击右键,选择“Properties”,选择“indexes/keys”

方法五、避免使Text字段太大

  当字符串的值大小不固定时,用varchar比用char的效果要好 些。我曾经看到一个例子程序,字段被定义为TEXT(255),但是他的取值经常只有20个字符。这个数据表有50k个记录,从而使这个数据库很大,大的数据库必然较慢。
 
展开更多 50%)
分享

猜你喜欢

如何避免asp的SQL的执行效率低

ASP
如何避免asp的SQL的执行效率低

避免asp的SQL的执行效率低

ASP
避免asp的SQL的执行效率低

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

提高ASP页面的执行效率(上)

ASP
提高ASP页面的执行效率(上)

提高ASP页面的执行效率(下)

ASP
提高ASP页面的执行效率(下)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

提高ASP页面的执行效率(中)

ASP
提高ASP页面的执行效率(中)

Oracle的SQL语句执行效率问题查找与解决方法

编程语言 网络编程
Oracle的SQL语句执行效率问题查找与解决方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Photoshop入门教程:教你几步打造逼真丝绸效果

Photoshop入门教程:教你几步打造逼真丝绸效果

明明白白XP系统环境变量

明明白白XP系统环境变量
下拉加载更多内容 ↓