MySQL是一個功能強大的開源數據庫。隨著越來越多的數據庫驅動的應用程序,人們一直在推動MySQL發展到它的極限。這裡是101條調節和優化MySQL安裝的技巧。一些技巧是針對特定的安裝環境的,但這些思路是通用的。
數據庫配置優化
MySQL應用最廣泛的有兩種存儲引擎:
MyISAM,不支持事務處理,讀性能處理快,表級別鎖(開銷小,鎖定粒度大,發生死鎖概率高,相對併發也低)InnoDB,支持事務處理,設計目標是為大數據處理,行級別鎖(開銷大,鎖定粒度小,發生死鎖概率低,相對併發也高)
根據這些方面看,使用InnoDB存儲引擎是最好的選擇,也是MySQL5.5+版本默認存儲引擎。每個存儲引擎相關運行參數比較多,以下列出可能影響數據庫性能的參數。
公共參數默認值:
MyISAM參數默認值:
InnoDB參數默認值:
查詢優化
多數情況下,一條查詢可以有很多種執行方式,最後都返回相應的結果。優化器的作用就是找到這其中最好的執行計劃。
MySQL 的查詢優化器是一個非常複雜的部件,它使用了非常多的優化策略來生成一個最優的執行計劃:
重新定義表的關聯順序優化 MIN() 和 MAX() 函數提前終止查詢優化排序