什么是mysql后臺(tái)線程

什么是MySQL后臺(tái)線程,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

成都創(chuàng)新互聯(lián)專(zhuān)注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、清遠(yuǎn)網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、清遠(yuǎn)網(wǎng)絡(luò)營(yíng)銷(xiāo)、清遠(yuǎn)企業(yè)策劃、清遠(yuǎn)品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供清遠(yuǎn)建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:muchs.cn

1.mysql后臺(tái)線程

mysql后臺(tái)線程主要用于維持服務(wù)器的正常運(yùn)行和完成用戶提交的任務(wù),主要包括:master thread,read thread,write thread,redo log thread,change buffer thread,page cleaner thread,purge thread,checkpoint,error monitor thread,lock monitor thread等.

2.mysql后臺(tái)線程詳解
1)master thread
Master thread優(yōu)先級(jí)最高, 其內(nèi)部包含幾個(gè)循環(huán):主循環(huán)(loop),后臺(tái)循環(huán)(background loop),刷新循環(huán)(flush loop),暫停循環(huán)(suspend loop).master thread會(huì)根據(jù)其內(nèi)部運(yùn)行的相關(guān)狀態(tài)在前述各循環(huán)間中進(jìn)行切換.
大部分操作在主循環(huán)(loop)中完成,其包含有1s和10s兩種操作.
1s操作主要包括:日志緩沖刷新到磁盤(pán)(總是,即使事務(wù)還沒(méi)有提交);最多刷100個(gè)新臟頁(yè)到磁盤(pán)(可能);執(zhí)行和并改變緩沖的操作(可能);若當(dāng)前沒(méi)有用戶活動(dòng),可能切換到background loop等.
10s操作主要包括:刷新100個(gè)臟頁(yè)到磁盤(pán)(可能);合并至多5個(gè)改變緩沖(總是);日志緩沖刷新到磁盤(pán)(總是);刪除無(wú)用的undo頁(yè)(總是);刷新100個(gè)或者10個(gè)臟頁(yè)到磁盤(pán)(總是)產(chǎn)生一個(gè)檢查點(diǎn)(總是)等.

2)read thread
read thread為mysql的讀線程,默認(rèn)為4個(gè),其負(fù)責(zé)將數(shù)據(jù)頁(yè)從磁盤(pán)上讀入,其由innodb_read_io_threads選項(xiàng)控制.用戶線程發(fā)起讀請(qǐng)求并將其放至讀請(qǐng)求隊(duì)列,read threads從讀請(qǐng)求隊(duì)列獲取讀任務(wù)并完成.

3)write thread
write thread為mysql的寫(xiě)線程,默認(rèn)為4個(gè),其負(fù)責(zé)將數(shù)據(jù)頁(yè)從緩沖區(qū)寫(xiě)出到磁盤(pán),其由innodb_write_io_threads控制選項(xiàng)控制.page_cleaner線程發(fā)起寫(xiě)請(qǐng)求并將其放至寫(xiě)請(qǐng)求隊(duì)列,write threads從寫(xiě)請(qǐng)求隊(duì)列獲取寫(xiě)任務(wù)并完成.

4)redo log thread
redo log thread負(fù)責(zé)把日志緩沖中的內(nèi)容刷新到redo log文件中.

5)change buffer thread
change buffer thread負(fù)責(zé)把改變緩沖(change buffer)中的內(nèi)容刷新到磁盤(pán).

6)page cleaner thread
page cleaner thread是負(fù)責(zé)臟頁(yè)刷新的線程,從MySQL5.7起可增加多個(gè).

7)purge thread
purge thread負(fù)責(zé)刪除無(wú)用的undo頁(yè).由于進(jìn)行DML語(yǔ)句的操作都會(huì)生成undo,系統(tǒng)需要定期對(duì)undo頁(yè)進(jìn)行清理,這是需要purge操作,同時(shí),其還對(duì)已經(jīng)標(biāo)記為刪除但還未清理的無(wú)用clustered和secondary索引數(shù)據(jù)進(jìn)行清除.mysql5.6開(kāi)始,把purge thread專(zhuān)門(mén)從master thread中分離出來(lái),其由innodb_purge_thread選項(xiàng)進(jìn)行控制.默認(rèn)為1個(gè),最大可以調(diào)整為32個(gè).

8)checkpoint thread
checkpoint thread負(fù)責(zé)在redo log發(fā)生切換時(shí),執(zhí)行checkpoint.

9)error monitor thread
error monitor thread負(fù)責(zé)mysql報(bào)錯(cuò)的監(jiān)控.

10)lock monitor thread
lock monitor thread負(fù)責(zé)mysql鎖的監(jiān)控.

看完上述內(nèi)容,你們掌握什么是mysql后臺(tái)線程的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁(yè)題目:什么是mysql后臺(tái)線程
分享路徑:http://muchs.cn/article16/jcjegg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、全網(wǎng)營(yíng)銷(xiāo)推廣、用戶體驗(yàn)、云服務(wù)器、關(guān)鍵詞優(yōu)化、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司