方法一、尽量使用复杂的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注入的风险,并提高数据库的执行效率。 知识点5:SQL Server存储过程 使用SQL Server的存储过程可以简化数据库操作和提高开发效率。存储过程可以封装复杂的数据库操作,并提供了高效的...
代码如下:DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter < 2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:1’ /*延迟时间1秒*/ ...提高SQL的执行效率的ASP的五种做法asp在线
常用的asp.net的SQL防注入过滤函数大集合,实用性很高! 执行效率不错!
C#的优点是兼有Visual Basic语言的易用性和C/C++的执行效率。通过学习,熟悉和掌握C#的使用方法,使用ASP.NET(C#)作为开发工具将使整个系统的模块化设计变得更加简便。 系统采用SQL SERVER 2000作为开发数据库。SQL ...
存储过程执行效率比单独的SQL语句效率高。 样编写存储过程?存储过程在SQL Server 2005对应数据库的可编程性目录下。 比如,创建一个存储过程 代码如下: create procedure procNewsSelectNewNews as begin select ...
ASP在服务器端运行,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。 (5)ASP能与任何ActiveX scripting语言相容。除了可用VBscript或...
这样做的好处至少有三个: 第一、大大提高效率。存储进程本身的执行速度非常快,而且,调用存储进程可以大大减少同数据库的交互次数。 第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就...
4、后台数据库采用SQL Server 2005,数据查询采用存储过程编写,安全性和执行效率更高。 5、支持Web上传视频文件,用户上传视频文件后系统自动生成缩略图片。 6、有视频收藏、视频搜索和数据排序功能,数据检索更...
ASP.net提供许多比现在的Web开发模式强大的优势,使执行效率大幅提高。ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比...
而单纯的SQL执行,则需开发者另行过滤危险字符,比如' 符使用Replace("'","[SocutDot]")替换为特定字符后再插入数据库,在读取时再替换为' 符。 5,查询比较频繁的话,应尽量避免使用Socut.Reader阅读器。它的优点是...
ASP.net提供许多比现在的Web开发模式强大的优势,使执行效率大幅提高。ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比...
通过几种分页显示存储过程,详细讲解了分页显示存储过程的编写及原理。并了解这几种分页显示存储过程的执行效率。
那么在抽取到显示的一系列列过程中,如果注意如下几个要点,则令抽取数据的执行效率大大增加。 1,明确抽取的字段名称 正常的SQL语句抽取记录是:Select * from [data_table] 即从数据表data_table中抽取所有...
这样ASP.NET就有四种组合:VB+ACCESS,VB+SQL,C#+ACCESS,C#+SQL,本教程会使用C#+ACCESS,兼顾四种来写,让大家对ASP.NET有一个全面的认识。虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是...
提高ASP代码的整体性能,一般情况下可以提高30%-40%的效率。 v1.2增加了以下功能: 1、可封装其他扩展名的文件。 2、页面防刷新。 3、SQL防注入。 4、绑定客户端IP。 5、自定义DLL属性。 6、加入时间限制功能。 7、...
科汛cms(Kesioncms)是基于采用网络中已经成熟、稳定的技术ASP+ACCESS(SQL2000/2005)开发而成,利用本系统您可以很方便地管理自己的网站。本系统是一款由文章、图片、下载、分类信息、商城、求职招聘、影视、动漫...
随着信息技术的飞速发展和日趋激烈的商业竞争...企业网上办公自动化将人从繁琐、无序、低序、低端的工作中解放出来从事核心事务,整体提高了单位办事效率和对信息的可控性,降低办公成本,提高执行力,使管理趋于完善。