客户支持
  首 页 域名注册  虚拟主机  营销通  IDC业务  网站推广  网站建设  企业邮局  优惠套餐  联系我们  汇款方式  
网站首页
客户支持首页
热门文章排行
更多... 
 
热门问题列表
首页 -> 客户支持
程序优化常见技巧

查看次数:581463   更新时间:2014/5/22    
1. 数据库结构优化
   
   a.
比如一些标志信息是否认证之类的字段要建索引却没有建
   b.
表没有设主键,加上主键
   c.
外键一般都要加上索引

2.
程序优化

   a.
当只限取前面N条记录时,不要用 select * ,然后再用ADO分页
      
改为 select top N 字段列表 这样的语句会高效很多
   
   b.
统计记录数时不要用 select * from .... 这样的语句,改
   用 select count(1) from .... 这样会好很多

   c.
尽量避免使用 select * from table 这样的sql语句,这样会导致程序从数据库里读取太多无用的数据,一般来说应该使用
      select 
字段1,字段2 from table 这种形式,只从数据库里读取必要的数据,这样能大大提高程序读取数据库的效率
   
   d.
不要用嵌套查询,比如
      
      <%
        sql = "select col1,col2 from a"
        set rs = server.createobject("adodb.recordset")
        rs.open sql,conn,1,1
        while not rs.eof
                sql2 = "select col1,col2 from b where id=" & rs("id")
                set rs2 = server.createobject("adodb.recordset")
                rs2.open sql2,conn,1,1 '
这里用了嵌套查询,效率会下降很多,如果数据库的时候根本没法运行
               
                    while not rs2.eof
                        
                        response.write rs("id") & "=" & rs2("name")
                       
                        rs2.movenext
                     
                     wend

                rs.movenext
        wend
      %>

      
如果改为

      <%
        sql = "select a.id ,b.name from a left join b on b.id=a.id" '
使用连表操作,并用具体的字段名代替 *,程序是高效很多
        set rs = server.createobject("adodb.recordset")
        rs.open sql,conn,1,1
        while not rs.eof
                        
                response.write rs("id") & "=" & rs("name")
                       
                rs.movenext
        wend
      %>
      
3.
如果网站的访问量大并且数据库查询操作的任务比较重,要考虑采用自动生成静态页面然后定时自动更新的技术

4.
对于 access 数据库
 
   access
数据是一个桌面型的数据库系统,它只能应付一些数据量少且访问量不大的网站,如果access的数据库超过
   
   100M
以上,性能会急速下降,并且 access 数据库的数据库驱动程序只能应付同时15个进程共享,也就是说它多只能
   
   
允许15个人同时打开它,对于大访问量的网站来说这是很低的一个数值,所以一般访问量大或者是数据量大的网站一般

   
要采用 sqlserver 或者 mysql 等高性能的数据库服务器平台。

   
有很多人使用 access 数据库时并没有对数据库的结构进行优化,这也是造成网站程序效率低下的另一个重要
[返 回]
佛山市亿动网络有限公司 www.72e.net (*)