大同網(wǎng)站建設(shè)設(shè)計(jì)seo排名技術(shù)軟件
一、邏輯存儲(chǔ)結(jié)構(gòu)
mysql5.5版本開(kāi)始,默認(rèn)使用innodb存儲(chǔ)引擎,它擅長(zhǎng)事務(wù)處理,具有崩潰恢復(fù)特性,在日常開(kāi)發(fā)中使用非常廣泛。
架構(gòu)圖(左側(cè)為內(nèi)存架構(gòu),右側(cè)為磁盤(pán)架構(gòu))
二、 內(nèi)存架構(gòu)。
1、緩沖池
2、更改緩沖區(qū)(針對(duì)于非唯一二級(jí)索引頁(yè))
?3、自適應(yīng)hash索引
?開(kāi)啟狀態(tài)
?4、日志緩沖區(qū)
?查看緩沖區(qū)大小,默認(rèn)大小
?日志刷新到磁盤(pán)時(shí)機(jī),默認(rèn)
?三、磁盤(pán)架構(gòu)。
1、系統(tǒng)表空間
參數(shù):存放的就是系統(tǒng)表空間
?
?2、獨(dú)立表空間
?默認(rèn)開(kāi)啟:每一張表都會(huì)生成一個(gè)對(duì)應(yīng)的表空間文件
?3、通用表空間。
?創(chuàng)建表空間
?4、撤銷(xiāo)表空間
?5、臨時(shí)表空間
6、雙寫(xiě)緩沖區(qū)和重做日志
?四、后臺(tái)線(xiàn)程。
后臺(tái)線(xiàn)程?
?1、master thread
核心后臺(tái)線(xiàn)程,負(fù)責(zé)調(diào)度其他線(xiàn)程,還負(fù)責(zé)將緩沖池中的數(shù)據(jù)異步刷新到磁盤(pán)中,保持?jǐn)?shù)據(jù)的一致性,還包括臟頁(yè)的刷新,合并插入緩存、undo頁(yè)的回收。
2、io thread
在innodb存儲(chǔ)引擎中大量使用了aio來(lái)處理io請(qǐng)求,這樣可以極大地提高數(shù)據(jù)庫(kù)的性能,而io thread主要負(fù)責(zé)這些io請(qǐng)求的回調(diào)。
線(xiàn)程類(lèi)型 | 默認(rèn)個(gè)數(shù) | 職責(zé) |
---|---|---|
read thread | 4 | 負(fù)責(zé)讀操作 |
write thread | 4 | 負(fù)責(zé)寫(xiě)操作 |
log thread | 1 | 負(fù)責(zé)將日志緩沖區(qū)刷新到磁盤(pán) |
insert buffer thread | 1 | 負(fù)責(zé)將寫(xiě)緩沖區(qū)內(nèi)容刷新到磁盤(pán) |
?查看innodb引擎狀態(tài)信息:show engine innodb status。
?3、purge thread
主要用于回收事務(wù)已經(jīng)提交了的undo log,在事務(wù)提交之后,undo log可能不用了,就用它來(lái)回收。
4、page cleaner thread
協(xié)助master thread刷新臟頁(yè)到磁盤(pán)的線(xiàn)程,它可以減輕master thread的工作壓力,減少阻塞。