麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > 幫助中心 > 正文

淺談innodb的索引頁結構,插入緩沖,自適應哈希索引

2024-07-09 22:47:59
字體:
來源:轉載
供稿:網友

Physical Structure of an InnoDB Index

所有的innodb索引都是btree索引,索引記錄保存在葉子上,默認的索引頁大小是16K。當有新的記錄插入時,innodb出于對將來的insert和update操作的考慮,會嘗試留下1/16的空閑頁大小。

如果索引記錄是完全按照索引記錄的大小順序插入的,那么索引也將填滿整個頁大小的15/16,如果插入順序完全隨機,那么索引頁基本上填充為1/2至15/16自建。如果填充因子低于1/2,innodb會嘗試重建b-tree。

Mysql5.6以后,可以通過innodb_page_size參數設置當前實例下每個索引頁的大小,一旦設定,無法再更改回來。推薦的配置一般是16K,8K或者4K。另外假如一個Mysql實例設置了不同于默認值的innodb_page_size A,那么將無法使用其他不同于A值的實例上的文件(比如做一個物理備份和恢復)

Insert Buffering

數據庫應用通常按照主鍵順序插入的,在這種情況下,因為聚集索引的順序和這個主鍵值的順序完全一致,insert操作將會減少很多的隨機IO。

另一方面,二級索引通常不是唯一的,那么在二級索引中插入數據時是一個相對隨機的順序。同樣的,delete和update操作在影響數據頁時,涉及到索引的變更,在二級索引上也并不是緊挨著的。這就導致了大量的隨機IO。

當插入一條記錄,或者從非唯一的二級索引刪除一條記錄,innodb首先會去檢查該二級索引頁是否在緩沖池中。如果在緩沖池,innodb將會直接在內存中修改這個索引頁。如果該索引也不在緩沖池,那么innodb將會將這個修改記錄到插入緩沖,也就是insertbuffer。Insert buffer通常都比較小,所以能夠保證全部在緩沖池中,并且更新非常頻繁。這個修改的進程就是change buffering(通常情況下,它只會只作用于insert操作,所以也被稱為insertbuffering,而該數據結構就是insert buffer)

Disk I/O for Flushing the Insert Buffer

那么插入緩沖如何減少隨機IO的呢?每個一段時間,insert buffer會去合并在insertbuffer中的二級非唯一索引。通常情況下,它會合并N個修改到同一個btree索引的索引頁中,從而節約了很多IO操作。經測試,insertbuffer可以提高15倍的插入速度。

在事務提交后,insert buffer可能還在合并寫入。所以,假如當DB異常重啟,reovery階段,當有非常多的二級索引需要更新或插入時,insert buffer將可能花費很長時間,甚至幾個小時。在這個階段,磁盤IO將會增加,那么就會導致disk-bound類型的查詢有顯著的性能下滑。

Adaptive Hash Indexes

自適應哈希索引(AHI)使得innodb在緩沖池擁有足夠的內存和某些工作負載下,看起來更像一個內存數據庫,并且不會犧牲任何事務的特點和穩定性。這個特色由參數innodb_adaptive_hash_index控制,動態參數,默認為on表示打開自適應哈希索引,關閉AHI后內置哈希表將會被立馬清空,而正常的操作依舊可以繼續,只是直接通過訪問B-TREE索引。重新使能AHI后哈希表又會被重建。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级黄色毛片a | 黄色免费小网站 | 双性精h调教灌尿打屁股的文案 | 国产免费一区二区三区最新不卡 | 国产精品一品二区三区四区18 | 一区二区三区四区高清视频 | 久久精品中文字幕一区二区三区 | 少妇一级淫片高潮流水电影 | 一级@片| 特片网久久 | 国产精品自在线拍 | av在线中文 | 91在线视频导航 | 国产精品色在线网站 | 国产精品视频一区二区三区四区五区 | 欧美一级视屏 | 亚洲一区二区三区视频 | 最新福利在线 | 午夜视频久久 | 久久人人97超碰国产公开结果 | 天天透天天狠天天爱综合97 | 毛片网站视频 | 欧美h版在线观看 | 欧美一级棒 | 天天色宗合 | 天天看天天摸天天操 | 中国大陆一级毛片 | 在火车上摸两乳爽的大叫 | 午夜视频在线观看免费视频 | av在线免费观看中文字幕 | 精品一区二区6 | 国产一级一级 | 99激情视频| 中文字幕 欧美 日韩 | 黄色男女视频 | 精品一区二区免费视频视频 | 一区二区三区黄色 | 自拍偷拍亚洲图片 | 青青操国产 | 久久亚洲网| 亚洲精品av在线 |