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

改进数据库查询执行效率(asp)

 
阅读更多
如何避免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")
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")
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 SQLServer中建立索引的方法:
在SQLServer管理器中,选择相应的表,然后“设计表”,点击右键,选择“Properties”,选择“indexes/keys”

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

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


分享到:
评论

相关推荐

    asp学习相关资料大全

    (5)ASP可以使用服务器端ActiveX组建来执行各种各样的任务,例如存取数据库、发现那个Email或访问文件系统等。 (6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的...

    虚拟主机管理系统是针对销售 主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统

    虚拟主机管理系统是针对销售 主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年多的改进与运作,软件已具有功能强大、安全稳定、...

    asp.net mvc数据库SqlServer后台管理系统.zip

    管理系统,作为一种高效的企业运营管理工具,旨在通过集成化、系统化的手段,对组织内部的各类资源进行规划、协调、控制和优化,以实现企业战略目标,提升运营效率,增强核心竞争力。以下是对管理系统的详细介绍: ...

    asp.net知识库

    改进ADO.Net数据库访问方式 ASP.NET 2.0 绑定高级技巧 简单实用的DataSet更新数据库的类+总结 [ADO.NET]由数据库触发器引发的问题 为ASP.NET封装的SQL数据库访问类 DataTable.Select方法的性能问题 .NET 2.0里使用强...

    基于PHP的精品课程网站设计与开发_曾燕燕

    ASP 可移植性较差 ,并且解释执行效率不高 ;JSP 虽然功能强大 ,但其技术特点决定了它在企业级应用的优势 ; PHP 跟 HTML 具有良好的兼容性 ,用户可以在源代码中直接加入HTML 标签 。因此 ,本文采用 PHP 技术...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    2.ASP.NET.2.0.高级编程(第4版) [1/7] 原书名: Professional ASP.NET 2.0 原出版社: Wrox 作者:(美)Bill Evjen, Scott Hanselman, Farhan Muhammad [同作者作品] [作译者介绍] 译者: 李敏波[同译者作品] ...

    asp.net 双向探针

    功能:增加了1000万次加法循环测试执行效率。 没错,是1000万次,刚开始我用的是10000次,但发现时间是0,所以改到了这么多。你可以直接修改原文件中105行来修改这个数字到你满意的大小。 0.1sn build021114: ...

    威客互动主机管理系统 v1.3.0.5.rar

    威客互动主机管理系统是针对销售 主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年多的改进与运作,软件已具有功能强大、安全稳定...

    ASP.NET2.0高级编程(第4版)1/6

    1.2.1 开发人员的效率3 1.2.2 管理5 1.2.3 性能和可伸缩性8 1.3 ASP.NET 2.0的其他新特性8 1.3.1 新的开发人员体系结构8 1.3.2 新的编译系统12 1.3.3 页面框架的新增内容13 1.3.4 访问数据的新对象15 1.3.5 新的...

    N点虚拟主机管理系统(NPOINT) v1.9.6

    N点虚拟主机管理系统是针对销售 主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年多的改进与运作,软件已具有功能强大、安全稳定、...

    威客互动主机管理系统 v1.3.0.5.zip

    威客互动主机管理系统是针对销售 主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年多的改进与运作,软件已具有功能强大、安全稳定...

    威客互动主机管理系统 v1.3.0.5

    威客互动主机管理系统是针对销售 主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年多的改进与运作,软件已具有功能强大、安全稳定...

    漂亮的ComponentArtWebUI web界面

    改进了IE7中的元素覆盖运算法则,优化其执行性能。 ComponentArt MultiPage 增加了IE转换效果 (Transition, TransitionDuration属性)。 Web.UI 2007.1 版本没有进行整体框架的改变,只是在Web.UI 2006.2的基础上进行...

    8大功能合一的单文件CMS.rar

    草根级全能CMS 8大功能 文章管理 特效管理 下载管理 个人博客 迷你论坛 留言板 会议室 企业DIY首页界面系统 ...DIV CSS布局,页面执行效率更高,后台CSS编辑直接读取自数据库而非原来的文件更安全

    N点虚拟主机管理系统 最新v2.1.0免费版

    N点虚拟主机管理系统是针对销售主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年多的改进与运作,软件已具有功能强大、安全稳定、...

    N点虚拟主机管理系统(NPOINT) v1.9.6.zip

    N点虚拟主机管理系统是针对销售 主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年多的改进与运作,软件已具有功能强大、安全稳定、...

    N点虚拟主机管理系统v1.9.3版 (For Windows2003/2008)

    N点虚拟主机管理系统是针对销售 主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年多的改进与运作,软件已具有功能强大、安全稳定、...

    N点虚拟主机管理系统

    N点虚拟主机管理系统是针对销售 主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年多的改进与运作,软件已具有功能强大、安全稳定、...

    N点虚拟主机管理系统免费最新版

    N点虚拟主机管理系统是针对销售 主机、邮局、数据库等产品时效率低、管理难等问题而自主研发的集产品自动化开通、管理、续费、升级等功能为一体的软件系统。通过一年多的改进与运作,软件已具有功能强大、安全稳定、...

Global site tag (gtag.js) - Google Analytics