動態設置變量可能導致意外的副作用,例如從緩沖中刷新臟塊。務必小心那些可以在線更改的設置,因為它們可能導致數據庫做大量的工作。有時可以通過名稱推斷一個變
。)
總的來說,設置很大的排序緩存代價可能非常高,所以除非確定必須要這么大,否則不要增加排序緩存的大小。
如果查詢必須使用一個更大的排序緩存才能比較好地執行,可以在查詢執行前增加sort_buffer_size的值,執行完成后恢復DEFAULT。
eg:
SET @@session.sort_buffer_size :=可以將類似的代碼封在函數中以方便使用。其它可以設置的單個連接級別的變量有read_buffer_size,read_rnd_buffer_size,tmp_table_size,以及myisam_sort_buffer_size。
特別說明:本文章是來自
個人感悟:理解可動態更改的變量產生的影響是蠻重要的,一不小心,可能導致負載飛一般的暴漲,CPU刷刷的飆升,香港虛擬主機,甚至宕機。
糗事:本人曾在線上數據庫動態修改query_cache_szie的值,本來server的負載都40-50的樣子啦,當時也不沒考慮那么多,香港服務器租用,就直接改了,負載瞬間飆升到了200多,那個汗啊,,,
好的東西是拿出來分享的,香港空間,那樣它就會更美?。。?/p>
本文出自 “Focus on the database” 博客,請務必保留此出處
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com