| VB 源码 | VC 源码 | ASP源码 | JSP源码 | PHP源码 | CGI源码 | FLASH源码 | 素材模板 | C 源程序 | 站长工具 | 站长教程 |

ASP技术

ASP技术
PHP技术
JSP技术
VB技术
.NET技术

本类阅读TOP10

·ASP如何获取真实IP地址
·解密ASP源代码
·Asp中五种连接数据库的方法
·ASP编程技巧大全[1]
·快速打造留言本教程[1]
·ASP中也能解压缩rar文件
·浅谈如何建立三层体系结构的ASP应用程序(2)
·浅谈如何建立三层体系结构的ASP应用程序(1)
·ASP编程技巧大全[2]
·用ASP发送邮件

站内搜索

如何避免asp的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 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循序渐进
  • mysql 3.0的注射
  • Oracle PL/SQL入门之案例实践
  • SQL Server存储图像数据的策略与方法
  • 导入大量MYSQL数据的方法
  • Mssql和Mysql的安全性分析
  • 选择MySQL还是SQL Server
  • MySQL入门学习(一)
  • SQL语句导入导出大全
  • 全面接触SQL语法(1)
  • 全面接触SQL语法(2)
  • 全面接触SQL语法(3)
  • 全面接触SQL语法(4)
  • 全面接触SQL语法(5)
  • 全面接触SQL语法(6)
  • 全面接触SQL语法(7)
  • 采用ODBC接口访问MySQL指南
  • ACCESS转化成SQL2000需要注意的几个问题
  • 黑客Web+Center SQL Injection代码
  • Pureftpd+MySQL+Pureftpd_php_manager架设FTP SERVER
  • 相关软件

  • 一个使用MFC和SQL的例子  
  • 微软SQL数据库支援控件  
  • 在direct SQL类中调用ODBC  
  • 酷蝶XP留言本(MySQL) 3.0
  • QSQL  
  • 连接到MySQL服务器时  
  • Perl的Mysql的DBD模块  
  • 本论坛系统使用大型数据库MYSQL  
  • 导入和导出sql数据phpMyAdmin  
  • MYSQL数据备分  



  • 月光软件源码下载编程文档电脑教程网站优化网址导航网络文学游戏天地生活休闲写作范文安妮宝贝站内搜索
    电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
    音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

    月光软件站·版权所有