`
hududanyzd
  • 浏览: 780134 次
文章分类
社区版块
存档分类
最新评论

提高SQL的执行效率的ASP的五种做法

 
阅读更多

方法一、尽量使用复杂的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")&"<br>"
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")&"<br>"
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 ON/n";
strSQL=strSQL&"BEGIN TRANSACTION/n";
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 TRANSACTION/n";
strSQL=strSQL&"SET XACT_ABORT OFF/n";
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个记录,从而使这个数据库很大,大的数据库必然较慢。

分享到:
评论

相关推荐

    批量执行sql语句的方法

    代码如下:DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter &lt; 2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:1’ /*延迟时间1秒*/ ...提高SQL的执行效率的ASP的五种做法asp在线

    asp.net的SQL防注入过滤函数大集合

    常用的asp.net的SQL防注入过滤函数大集合,实用性很高! 执行效率不错!

    ASP.NET+SQL办公自动化管理系统的设计与实现(源代码+论文)

    C#的优点是兼有Visual Basic语言的易用性和C/C++的执行效率。通过学习,熟悉和掌握C#的使用方法,使用ASP.NET(C#)作为开发工具将使整个系统的模块化设计变得更加简便。 系统采用SQL SERVER 2000作为开发数据库。SQL ...

    在ASP.NET中用存储过程执行SQL语句

    存储过程执行效率比单独的SQL语句效率高。 样编写存储过程?存储过程在SQL Server 2005对应数据库的可编程性目录下。 比如,创建一个存储过程 代码如下: create procedure procNewsSelectNewNews as begin select ...

    asp学习相关资料大全

    ASP在服务器端运行,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。 (5)ASP能与任何ActiveX scripting语言相容。除了可用VBscript或...

    ASP程序与SQL存储过程结合使用详解

    这样做的好处至少有三个: 第一、大大提高效率。存储进程本身的执行速度非常快,而且,调用存储进程可以大大减少同数据库的交互次数。 第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就...

    基于ASP.NET C# SQL2005 的中学视频管理系统

    4、后台数据库采用SQL Server 2005,数据查询采用存储过程编写,安全性和执行效率更高。 5、支持Web上传视频文件,用户上传视频文件后系统自动生成缩略图片。 6、有视频收藏、视频搜索和数据排序功能,数据检索更...

    基于ASP.NET的学生信息系统设计与实现毕业设计【适合课程设计】.zip

    ASP.net提供许多比现在的Web开发模式强大的优势,使执行效率大幅提高。ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比...

    集ACCESS与SQL数据类

    而单纯的SQL执行,则需开发者另行过滤危险字符,比如' 符使用Replace("'","[SocutDot]")替换为特定字符后再插入数据库,在读取时再替换为' 符。 5,查询比较频繁的话,应尽量避免使用Socut.Reader阅读器。它的优点是...

    [计算机毕设]基于asp.net的学生信息系统设计与实现(源代码+项目报告).zip

    ASP.net提供许多比现在的Web开发模式强大的优势,使执行效率大幅提高。ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比...

    SQL Server 2005分页显示存储过程

    通过几种分页显示存储过程,详细讲解了分页显示存储过程的编写及原理。并了解这几种分页显示存储过程的执行效率。

    ASP抽取数据的执行效率

    那么在抽取到显示的一系列列过程中,如果注意如下几个要点,则令抽取数据的执行效率大大增加。 1,明确抽取的字段名称 正常的SQL语句抽取记录是:Select * from [data_table] 即从数据表data_table中抽取所有...

    十天学会ASP.net--我认为ASP.NET比ASP难很多,希望大家做好准备

    这样ASP.NET就有四种组合:VB+ACCESS,VB+SQL,C#+ACCESS,C#+SQL,本教程会使用C#+ACCESS,兼顾四种来写,让大家对ASP.NET有一个全面的认识。虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是...

    ASP风火轮 v1.2 学习版(国产asp2dll)

    提高ASP代码的整体性能,一般情况下可以提高30%-40%的效率。 v1.2增加了以下功能: 1、可封装其他扩展名的文件。 2、页面防刷新。 3、SQL防注入。 4、绑定客户端IP。 5、自定义DLL属性。 6、加入时间限制功能。 7、...

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    科汛cms(Kesioncms)是基于采用网络中已经成熟、稳定的技术ASP+ACCESS(SQL2000/2005)开发而成,利用本系统您可以很方便地管理自己的网站。本系统是一款由文章、图片、下载、分类信息、商城、求职招聘、影视、动漫...

    asp+sql的oa管理系统

    随着信息技术的飞速发展和日趋激烈的商业竞争...企业网上办公自动化将人从繁琐、无序、低序、低端的工作中解放出来从事核心事务,整体提高了单位办事效率和对信息的可控性,降低办公成本,提高执行力,使管理趋于完善。

    sqlserver存储过程语法详解

    存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQL Server)。如果我们通过创建存储...

Global site tag (gtag.js) - Google Analytics