91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MYSQL change buffer的原理說明

發布時間:2021-09-16 10:55:57 來源:億速云 閱讀:201 作者:chen 欄目:大數據

這篇文章主要講解了“MYSQL change buffer的原理說明”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MYSQL change buffer的原理說明”吧!

關于MYSQL 的change buffer 的說一說,為何,因為它可以加速你的寫操作,意思就是 insert  update delete 等操作,尤其是你的表有一堆索引的情況下,那必須要進行特殊的設置。

可能馬上有一個聲音,為什么是表有一堆索引的情況下,才要有特殊的設置。

1 索引與表是緊密的關系,插入,更新,刪除一條記錄,就會觸發與表有關系的索引的操作,你可以將他們看做一個事務,如果其中有任何一個對索引的操作失敗,則你的數據對表的操作也應該會失敗。

2 對于表附加的索引的操作必然影響對源表的數據的操作速度,而DML操作會影響數據的讀取和事務隔離性相關的性能,然后引起連鎖反應,表插入的,更改的,刪除的,慢了,則表的SELECT 的性能也必然受到影響。

3 當對表執行插入、更新和刪除操作時,索引(非聚集索引)列的值通常是無序的,這需要大量的I/O來更新輔助索引。當相關頁不在緩沖池中時,更改緩沖區將更改緩存到索引,從而通過不立即從磁盤讀入頁來避免昂貴的I/O操作。當頁面加載到緩沖池中時,將合并已緩存的更改,然后將更新后的頁面刷新到磁盤。

帶來的好處,如果MYSQL 承擔大量的DML操作,則change buffer是必不可少的,他的存在就是盡量減小I/O的消耗,通過內存進行數據的合并操作,將多次操作操作盡量變為少量的I/O操作。帶來的壞處,就是change buffer 會使用innodb_buffer的空間,所以如果你內存少,那就....... 默哀3分鐘。

說道這個東西,那自然必須要在MY.CNF 中調整一下參數配置。

具體有兩個參數

innodb_change_buffering  

這個參數決定了你的change buffer的用途,你是要吃咸的還是甜的,都在這里面了。具體的選擇項

none

inserts

deletes

changes

purges

all

innodb_change_buffer_max_size

另一個選擇項是對 buffer_pool 中的內存進行百分比的設置,默認是 25% 最大你可以設置 50% 

innodb_change_buffering_debug

對于change buffer 如果造成問題,我們也需要第一時間從 ERRORLOG 匯總獲知,所以建議至少設置為 1

下面是MYSQL 不關于這部分的代碼(有時間還真的好好看看C++,要不看代碼屬于白癡的水平),

1  UNIV_PAGE_SIZE  是 數據頁的大小

2  buf_pool_get_curr_size 是 當前的 innodb_buffer_pool 的大小

最后最大的設置得到應該是以頁面大小為單位的塊的百分比。

MYSQL change buffer的原理說明

感謝各位的閱讀,以上就是“MYSQL change buffer的原理說明”的內容了,經過本文的學習后,相信大家對MYSQL change buffer的原理說明這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湖州市| 京山县| 宣汉县| 罗田县| 志丹县| 阳西县| 乐平市| 昌平区| 定日县| 偃师市| 乌兰察布市| 松原市| 泾阳县| 额尔古纳市| 彭山县| 高邑县| 新乡县| 郴州市| 历史| 江永县| 美姑县| 成武县| 浦北县| 施甸县| 宁晋县| 青冈县| 南木林县| 兴安盟| 多伦县| 湟源县| 双流县| 驻马店市| 镇江市| 萨嘎县| 日照市| 奉贤区| 武安市| 元谋县| 丹东市| 梧州市| 油尖旺区|