客戶支持
  首 頁 域名注冊  虛拟主機  營銷通  網站推廣  網站建設  企業郵局  優惠套餐  聯系我(wǒ)們  彙款方式  
網站首頁
客戶支持首頁
熱門文章排行
更多... 
 
熱門問題列表
首頁 -> 客戶支持
程序優化常見技巧

查看次數:581850   更新時間:2014/5/22    
1. 數據庫結構優化
   
   a.
比如一(yī)些标志(zhì)信息是否認證之類的字段要建索引卻沒有建
   b.
表沒有設主鍵,加上主鍵
   c.
外(wài)鍵一(yī)般都要加上索引

2.
程序優化

   a.
當隻限取前面N條記錄時,不要用 select * ,然後再用ADO分(fēn)頁
      
改爲 select top N 字段列表 這樣的語句會高效很多
   
   b.
統計記錄數時不要用 select * from .... 這樣的語句,改
   用 select count(1) from .... 這樣會好很多

   c.
盡量避免使用 select * from table 這樣的sql語句,這樣會導緻程序從數據庫裏讀取太多無用的數據,一(yī)般來說應該使用
      select 
字段1,字段2 from table 這種形式,隻從數據庫裏讀取必要的數據,這樣能大(dà)大(dà)提高程序讀取數據庫的效率
   
   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 '
這裏用了嵌套查詢,效率會下(xià)降很多,如果數據庫的時候根本沒法運行
               
                    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" '
使用連表操作,并用具體(tǐ)的字段名代替 *,程序是高效很多
        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.
如果網站的訪問量大(dà)并且數據庫查詢操作的任務比較重,要考慮采用自動生(shēng)成靜态頁面然後定時自動更新的技術

4.
對于 access 數據庫
 
   access
數據是一(yī)個桌面型的數據庫系統,它隻能應付一(yī)些數據量少且訪問量不大(dà)的網站,如果access的數據庫超過
   
   100M
以上,性能會急速下(xià)降,并且 access 數據庫的數據庫驅動程序隻能應付同時15個進程共享,也就是說它多隻能
   
   
允許15個人同時打開(kāi)它,對于大(dà)訪問量的網站來說這是很低的一(yī)個數值,所以一(yī)般訪問量大(dà)或者是數據量大(dà)的網站一(yī)般

   
要采用 sqlserver 或者 mysql 等高性能的數據庫服務器平台。

   
有很多人使用 access 數據庫時并沒有對數據庫的結構進行優化,這也是造成網站程序效率低下(xià)的另一(yī)個重要
[返 回]
上海陽桃網絡科技有限公司 vip.bangweb.cn (百川網絡)