<tbody id="orcvq"><var id="orcvq"><menuitem id="orcvq"></menuitem></var></tbody><pre id="orcvq"><acronym id="orcvq"></acronym></pre><pre id="orcvq"></pre>
<cite id="orcvq"><var id="orcvq"></var></cite>
<span id="orcvq"><var id="orcvq"><menuitem id="orcvq"></menuitem></var></span>
        1. 您好,歡迎訪問逛逛網!

          網站性能優化各層面的幾個建議

          分類:虛擬化 瀏覽數:8 2019-12-13 20:06 木莊網絡博客 編輯: 逛逛

          一、Web前端層面

          1.1 圖片資源的壓縮;

          1.2 js、css資源的壓縮。

          二、業務邏輯代碼層面

          2.1 禁止循環體內查詢數據庫

          2.2 將常用的配置型數據存至Redis;

          2.3 使用 StringBuilder 的 append 方法。

          (說明:循環體內,字符串的連接方式,使用 StringBuilder 的 append 方法進行擴展。下例中,反編譯出的字節碼文件顯示每次循環都會 new 出一個 StringBuilder 對象, 然后進行 append 操作,最后通過 toString 方法返回 String 對象,造成內存資源浪費。)

          //反例:
          String str = "start"; 
          for (int i = 0; i < 100; i++) 
          { 
          str = str + "hello";
          }
          

          三、數據庫層面

          3.1 適當冗余,以提高查詢性能;

          (說明:打破第三范式標準,適當冗余,以提高查詢性能,但必須考慮數據一致。冗余字段應遵循:1)不是頻繁修改的字段。2)不是 varchar 超長字段,更不能是 text 字段。)

          3.2 數據庫表字段數據結構的錯誤設置;

          (說明:合適的字符存儲長度可提升檢索速度。并且錯誤的數據類型也影響查詢速度。)

          3.3 索引;

          (說明:業務上具有唯一特性的字段,即使是多個字段的組合,也必須建成唯一索引。)

          3.4 join;

          (說明:join 的字段,數據類型必須絕對一致;多表關聯查詢時,保證被關聯的字段需要有索引。)

          3.5 order by;

          (說明:利用索引的有序性。order by 最后的字段是組合索引的一部分,并且放在索引組合順序的最后。)

          正例:where a=? and b=? order by c; 索引:a_b_c

          反例:索引中有范圍查找,那么索引有序性無法利用,如:WHERE a>10 ORDER BY b; 索引 a_b 無法排序。

          3.6 利用延遲關聯或者子查詢優化超多分頁場景;

          點擊分享到:

          版權與免責聲明:

          凡未注明"稿件來源"的內容均為轉載稿,本網轉載出于傳遞更多信息的目的;如轉載稿涉及版權問題,請作者聯系我們,同時對于用戶評論等信息,本網并不意味著贊同其觀點或證實其內容的真實性;


          本文地址:http://www.asiawebasp.com.cn/news/2019/12/13/62305658.html

          轉載本站原創文章請注明來源:逛逛網

          欧美一级毛片免费高清- 视频 - 在线观看 - 影视资讯 - 爱赏网