一般談到mysql優化,首先想到的是分析sql執行,優化sql語句和建立索引。
這次碰到的問題我也是在這條路上來來回回繞了很久,一條簡單的語句要執行10多秒。
後來把部署的資料庫拷貝到本機乙份測試,同樣的執行計畫,本機零點幾秒就能執行完了。想了想,才想到可能是配置的問題。
搜尋了一下,把最終更新的配置記錄一下,這些配置和系統記憶體大小關係很大,我這裡使用的系統是32gb記憶體的伺服器,上面除了資料庫還跑了一些其他應用。
set global key_buffer_size=134217728
set global bulk_insert_buffer_size=16*1024*1024
set global max_allowed_packet=3*1024*1024
set global sort_buffer_size=8*1024*1024
set global join_buffer_size=8*1024*1024
-- 提高讀寫的一次緩衝區大小
set global read_buffer_size=8*1024*1024
set global read_rnd_buffer_size=8*1024*1024
-- 影響比較大的引數,如果是專用的資料庫伺服器,可以使用整機記憶體的50%~80%
-- 提高這個值,會有更多的資料儲存在記憶體中,效率自然高很多
set global innodb_buffer_pool_size=8192*1024*1024
-- 對以下兩個值並沒有找到完全合理的理論依據,所以可以不配置,使用預設值
#set global innodb_buffer_pool_instances = 1
#set global innodb_buffer_pool_chunk_size = 8192*1024*1024
set global table_open_cache=512
mysql配置優化 MySQL配置效能優化
下面配置的優化,可能影響比較大,可能可以顯著提高讀寫效能。1 mysql一些主要配置項介紹 innodb buffer pool size 這是你安裝完innodb後第乙個應該設定的選項。緩衝池是資料和索引快取的地方 這個值越大越好,這能保證你在大多數的讀取操作時使用的是記憶體而不是硬碟。如果是純資...
mysql效能優化配置總結
看了一些優化mysql運維的一些書籍,在此記錄總結下 進入mysql客戶端輸入以下sql 1 連線設定 show variables like max connection show status like max used connections max used connections max ...
mysql效能優化 mysql效能優化
優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...