| 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发送邮件
·浅谈如何建立三层体系结构的ASP应用程序(1)
·使ACCESS数据库保持同步

站内搜索

如何避免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数据备分  

  • 下载首页关于我们广告服务联系方式常见问题隐私声明法律条款本站声明下载帮助发布软件站点地图谷歌卫星地图