MySQL高级 - 应用优化
應用優化
?
前面章節,我們介紹了很多數據庫的優化措施。但是在實際生產環境中,由于數據庫本身的性能局限,就必須要對前臺的應用進行一些優化,來降低數據庫的訪問壓力。
使用連接池
對于訪問數據庫來說,建立連接的代價是比較昂貴的,因為我們頻繁的創建關閉連接,是比較耗費資源的,我們有必要建立 數據庫連接池,以提高訪問的性能。
減少對MySQL的訪問
避免對數據進行重復檢索
在編寫應用代碼時,需要能夠理清對數據庫的訪問邏輯。能夠一次連接就獲取到結果的,就不用兩次連接,這樣可以大大減少對數據庫無用的重復請求。
比如 ,需要獲取書籍的id 和name字段 , 則查詢如下:
select id , name from tb_book;之后,在業務邏輯中有需要獲取到書籍狀態信息, 則查詢如下:
select id , status from tb_book;這樣,就需要向數據庫提交兩次請求,數據庫就要做兩次查詢操作。其實完全可以用一條SQL語句得到想要的結果。
select id, name , status from tb_book;增加cache層
在應用中,我們可以在應用中增加 緩存 層來達到減輕數據庫負擔的目的。緩存層有很多種,也有很多實現方式,只要能達到降低數據庫的負擔又能滿足應用需求就可以。
因此可以部分數據從數據庫中抽取出來放到應用端以文本方式存儲, 或者使用框架(Mybatis, Hibernate)提供的一級緩存/二級緩存,或者使用redis數據庫來緩存數據 。
負載均衡
負載均衡是應用中使用非常普遍的一種優化方法,它的機制就是利用某種均衡算法,將固定的負載量分布到不同的服務器上, 以此來降低單臺服務器的負載,達到優化的效果。
利用MySQL復制分流查詢
通過MySQL的主從復制,實現讀寫分離,使增刪改操作走主節點,查詢操作走從節點,從而可以降低單臺服務器的讀寫壓力。
采用分布式數據庫架構
分布式數據庫架構適合大數據量、負載高的情況,它有良好的拓展性和高可用性。通過在多臺服務器之間分布數據,可以實現在多臺服務器之間的負載均衡,提高訪問效率。
總結
以上是生活随笔為你收集整理的MySQL高级 - 应用优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL高级 - SQL优化 - 索引
- 下一篇: MySQL高级 - 查询缓存 - 概述及