选择显示字体大小

如何避免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")&"
  &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个记录,从而使这个数据库很大,大的数据库必然较慢。
  
    


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons