亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 6405 | 回復: 0
打印 上一主題 下一主題

InnoDB的Master Thread調(diào)度流程 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-12-15 12:22 |只看該作者 |倒序瀏覽
本文內(nèi)容遵從CC版權協(xié)議, 可以隨意轉載, 但必須以超鏈接形式標明文章原始出處和作者信息及版權聲明
網(wǎng)址: http://www.penglixun.com/tech/database/innodb_master_thread.html

InnoDB的主要IO操作都是在Master Thread(srv0srv.c)中完成的,所以分析InnoDB的IO調(diào)度,就一定要分析Master Thread線程。

下面是我畫的一張流程圖,標識了整個Master Thread的調(diào)度流程。紅色部分是InnoDB Plugin/XtraDB對原有InnoDB引擎的改進。
每個Process文字中最下面的括號是進行這個操作的具體函數(shù),可以參照源代碼閱讀本圖。

順便解釋一下“插入緩沖”(Insert Buffer):InnoDB為了避免更新數(shù)據(jù)時更新索引損失太多性能,使用了這種稱為Insert Buffer的方法來緩沖索引更新,對于非聚集索引(主鍵索引)、唯一索引的修改,不是每次都直接插入索引頁,而是先判斷要更新的這一頁在不在內(nèi)存中,如果不在則存入Insert Buffer,按照Master Thread的調(diào)度規(guī)則來合并非唯一索引和索引頁中的葉子結點,這樣經(jīng)常能減少更新索引的代價。為什么要求是非唯一索引(排除主鍵索引和唯一索引)呢?因為唯一索引要檢查記錄是不是存在,所以必須把修改的記錄影響的索引頁讀出來才知道是不是唯一,這樣Insert Buffer就沒意義了,反正要讀出來,所以只對非唯一索引有效。
show innodb status中的“INSERT BUFFER AND ADAPITIVE HASH INDEX”里面顯示了Insert Buffer的效果。

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP