18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于InnoDB的內(nèi)存結(jié)構(gòu)及原理詳解

jf_f8pIz0xS ? 來源:SH的全棧筆記 ? 作者:SH的全棧筆記 ? 2021-04-16 16:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

之前寫過一篇文章「簡(jiǎn)單了解InnoDB原理」,現(xiàn)在回過頭看,其實(shí)里面只是把緩沖池(Buffer Pool),重做日志緩沖(Redo Log Buffer)、插入緩沖(Insert Buffer)和自適應(yīng)哈希索引Adaptive Hash Index)等概念簡(jiǎn)單的介紹了一下。

除此之外還聊了一下MySQL和InnoDB的日志,和兩次寫,總的來說算是一個(gè)入門級(jí)別的介紹,這篇文章就來詳細(xì)介紹一下InnoDB的內(nèi)存結(jié)構(gòu)。

InnoDB內(nèi)存結(jié)構(gòu)

其大致結(jié)構(gòu)如下圖。

InnoDB內(nèi)存的兩個(gè)主要區(qū)域分別為Buffer Pool和Log Buffer,此處的Log Buffer目前是用于緩存Redo Log。而Buffer Pool則是MySQL或者說InnoDB中,十分重要、核心的一部分,位于主存。這也是為什么其訪問數(shù)據(jù)的效率高,你可以暫時(shí)把它理解成Redis那樣的內(nèi)存數(shù)據(jù)庫(kù),因?yàn)槲覀兏潞托略霎?dāng)然它不是,只是這樣會(huì)更加方便我們理解。

Buffer Pool

通常來說,宿主機(jī)80%的內(nèi)存都應(yīng)該分配給Buffer Pool,因?yàn)锽uffer Pool越大,其能緩存的數(shù)據(jù)就更多,更多的操作都會(huì)發(fā)生在內(nèi)存,從而達(dá)到提升效率的目的。

由于其存儲(chǔ)的數(shù)據(jù)類型和數(shù)據(jù)量非常多,Buffer Pool存儲(chǔ)的時(shí)候一定會(huì)按照某些結(jié)構(gòu)去存儲(chǔ),并且做了某些處理。否則獲取的時(shí)候除了遍歷所有數(shù)據(jù)之外,沒有其他的捷徑,這樣的低效率操作肯定是無法支撐MySQL的高性能的。

因此,Buffer Pool被分成了很多頁(yè),這在之前的文章中也有講過,這里不再贅述。每頁(yè)可以存放很多數(shù)據(jù),剛剛也提到了,InnoDB一定是對(duì)數(shù)據(jù)做了某些操作。

InnoDB使用了鏈表來組織頁(yè)和頁(yè)中存儲(chǔ)的數(shù)據(jù),頁(yè)與頁(yè)之間形成了雙向鏈表,這樣可以方便的從當(dāng)前頁(yè)跳到下一頁(yè),同時(shí)使用LRU(Least Recently Used)算法去淘汰那些不經(jīng)常使用的數(shù)據(jù)。

同時(shí),每頁(yè)中的數(shù)據(jù)也通過單向鏈表進(jìn)行鏈接。因?yàn)檫@些數(shù)據(jù)是分散到Buffer Pool中的,單向鏈表將這些分散的內(nèi)存給連接了起來。

Log Buffer

Log Buffer用來存儲(chǔ)那些即將被刷入到磁盤文件中的日志,例如Redo Log,該區(qū)域也是InnoDB內(nèi)存的重要組成部分。Log Buffer的默認(rèn)值為16M,如果我們需要進(jìn)行調(diào)整的話,可以通過配置參數(shù)innodb_log_buffer_size來進(jìn)行調(diào)整。

當(dāng)Log Buffer如果較大,就可以存儲(chǔ)更多的Redo Log,這樣一來在事務(wù)提交之前我們就不需要將Redo Log刷入磁盤,只需要丟到Log Buffer中去即可。因此較大的Log Buffer就可以更好的支持較大的事務(wù)運(yùn)行;同理,如果有事務(wù)會(huì)大量的更新、插入或者刪除行,那么適當(dāng)?shù)脑龃驦og Buffer的大小,也可以有效的減少部分磁盤I/O操作。

至于Log Buffer中的數(shù)據(jù)刷入到磁盤的頻率,則可以通過參數(shù)innodb_flush_log_at_trx_commit來決定。

Buffer Pool的LRU算法

了解完了InnoDB的內(nèi)存結(jié)構(gòu)之后,我們來仔細(xì)看看Buffer Pool的LRU算法是如何實(shí)現(xiàn)將最近沒有使用過的數(shù)據(jù)給過期的。

原生LRU

首先明確一點(diǎn),此處的LRU算法和我們傳統(tǒng)的LRU算法有一定的區(qū)別。為什么呢?因?yàn)閷?shí)際生產(chǎn)環(huán)境中會(huì)存在全表掃描的情況,如果數(shù)據(jù)量較大,可能會(huì)將Buffer Pool中存下來的熱點(diǎn)數(shù)據(jù)給全部替換出去,而這樣就會(huì)導(dǎo)致該段時(shí)間MySQL性能斷崖式下跌。

對(duì)于這種情況,MySQL有一個(gè)專用名詞叫緩沖池污染。所以MySQL對(duì)LRU算法做了優(yōu)化。

優(yōu)化后的LRU

優(yōu)化之后的鏈表被分成了兩個(gè)部分,分別是 New Sublist 和 Old Sublist,其分別占用了 Buffer Pool 的3/4和1/4。

鏈表的前3/4,也就是 New Sublist 存放的是訪問較為頻繁的頁(yè),而后1/4也就是 Old Sublist 則是反問的不那么頻繁的頁(yè)。Old Sublist中的數(shù)據(jù),會(huì)在后續(xù)Buffer Pool剩余空間不足、或者有新的頁(yè)加入時(shí)被移除掉。

了解了鏈表的整體構(gòu)造和組成之后,我們就以新頁(yè)被加入到鏈表為起點(diǎn),把整體流程走一遍。首先,一個(gè)新頁(yè)被放入到Buffer Pool之后,會(huì)被插入到鏈表中 New Sublist 和 Old Sublist 相交的位置,該位置叫MidPoint。

該鏈表存儲(chǔ)的數(shù)據(jù)來源有兩部分,分別是:

MySQL的預(yù)讀線程預(yù)先加載的數(shù)據(jù)

用戶的操作,例如Query查詢

默認(rèn)情況下,由用戶操作影響而進(jìn)入到Buffer Pool中的數(shù)據(jù),會(huì)被立即放到鏈表的最前端,也就是 New Sublist 的 Head 部分。但如果是MySQL啟動(dòng)時(shí)預(yù)加載的數(shù)據(jù),則會(huì)放入MidPoint中,如果這部分?jǐn)?shù)據(jù)被用戶訪問過之后,才會(huì)放到鏈表的最前端。

這樣一來,雖然這些頁(yè)數(shù)據(jù)在鏈表中了,但是由于沒有被訪問過,就會(huì)被移動(dòng)到后1/4的 Old Sublist中去,直到被清理掉。

優(yōu)化Buffer Pool的配置

在實(shí)際的生產(chǎn)環(huán)境中,我們可以通過變更某些設(shè)置,來提升Buffer Pool運(yùn)行的性能。

例如,我們可以分配盡量多的內(nèi)存給Buffer Pool,如此就可以緩存更多的數(shù)據(jù)在內(nèi)存中

當(dāng)前有足夠的內(nèi)存時(shí),就可以搞多個(gè)Buffer Pool實(shí)例,減少并發(fā)操作所帶來的數(shù)據(jù)競(jìng)爭(zhēng)

當(dāng)我們可以預(yù)測(cè)到即將到來的大量請(qǐng)求時(shí),我們可以手動(dòng)的執(zhí)行這部分?jǐn)?shù)據(jù)的預(yù)讀請(qǐng)求

我們還可以控制Buffer Pool刷數(shù)據(jù)到磁盤的頻率,以根據(jù)當(dāng)前MySQL的負(fù)載動(dòng)態(tài)調(diào)整

那我們?cè)趺粗喇?dāng)前運(yùn)行的 MySQL 中 Buffer Pool 的狀態(tài)呢?我們可以通過命令show engine innodb status來查看。這個(gè)命令是看 InnoDB 整體的狀態(tài)的, Buffer Pool 相關(guān)的監(jiān)控指標(biāo)包含在了其中,在Buffer Pool And Memory模塊中。

樣例如下。

---------------------- BUFFER POOL AND MEMORY ---------------------- Total large memory allocated 137428992 Dictionary memory allocated 972752 Buffer pool size 8191 Free buffers 4596 Database pages 3585 Old database pages 1303 Modified db pages 0 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 1171, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 655, created 7139, written 173255 0.00 reads/s, 0.00 creates/s, 0.00 writes/s No buffer pool page gets since the last printout Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 3585, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0]

解釋一些關(guān)鍵的指標(biāo)所代表的含義:

Total memory allocated:分配給 Buffer Pool 的總內(nèi)存

Dictionary memory allocated:分配給 InnoDB 數(shù)據(jù)字典的總內(nèi)存

Buffer pool size:分配給 Buffer Pool 中頁(yè)的內(nèi)存大小

Free buffers:分配給 Buffer Pool 中 Free List 的內(nèi)存大小

Database pages:分配給 LRU 鏈表的內(nèi)存大小

Old database pages:分配給 LRU 子鏈表的內(nèi)存大小

Modified db pages:當(dāng)前Buffer Pook中被更新的頁(yè)的數(shù)量

Pending reads:當(dāng)前等待讀入 Buffer Pool 的頁(yè)的數(shù)量

Pending writes LRU:當(dāng)前在 LRU 鏈表中等待被刷入磁盤的臟頁(yè)數(shù)量

都是些很常規(guī)的配置項(xiàng),你可能會(huì)比較好奇什么是 Free List。

Free List 中存放的都是未被使用的頁(yè)。因?yàn)镸ySQL啟動(dòng)的時(shí)候,InnoDB 會(huì)預(yù)先申請(qǐng)一部分頁(yè)。如果當(dāng)前頁(yè)還未被使用,就會(huì)被保存在 Free List 中。

知道了 Free List,那么你也應(yīng)該知道 Flush List,里面保存的是所有的臟頁(yè),都是被更改后需要刷入到磁盤的。

自適應(yīng)哈希索引

自適應(yīng)哈希索引(Adaptive Hash Index)是配合Buffer Pool工作的一個(gè)功能。自適應(yīng)哈希索引使得MySQL的性能更加接近于內(nèi)存服務(wù)器。

如果要啟用自適應(yīng)哈希索引,可以通過更改配置innodb_adaptive_hash_index來開啟。如果不想啟用,也可以在啟動(dòng)的時(shí)候,通過命令行參數(shù)--skip-innodb-adaptive-hash-index來關(guān)閉。

自適應(yīng)哈希索引是根據(jù)索引Key的前綴來構(gòu)建的,InnoDB 有自己的監(jiān)控索引的機(jī)制,當(dāng)其檢測(cè)到為當(dāng)前某個(gè)索引頁(yè)建立哈希索引能夠提升效率時(shí),就會(huì)創(chuàng)建對(duì)應(yīng)的哈希索引。如果某張表數(shù)據(jù)量很少,其數(shù)據(jù)全部都在Buffer Pool中,那么此時(shí)自適應(yīng)哈希索引就會(huì)變成我們所熟悉的指針這樣一個(gè)角色。

當(dāng)然,創(chuàng)建、維護(hù)自適應(yīng)哈希索引是會(huì)帶來一定的開銷的,但是比起其帶來的性能上的提升,這點(diǎn)開銷可以直接忽略不計(jì)。但是,是否要開啟自適應(yīng)哈希索引還是需要看具體的業(yè)務(wù)情況的,例如當(dāng)我們的業(yè)務(wù)特征是有大量的并發(fā)Join查詢,此時(shí)訪問自適應(yīng)哈希索引被產(chǎn)生競(jìng)爭(zhēng)。并且如果業(yè)務(wù)還使用了LIKE或者%等通配符,根本就不會(huì)用到哈希索引,那么此時(shí)自適應(yīng)哈希索引反而變成了系統(tǒng)的負(fù)擔(dān)。

所以,為了盡可能的減少并發(fā)情況下帶來的競(jìng)爭(zhēng),InnoDB對(duì)自適應(yīng)哈希索引進(jìn)行了分區(qū),每個(gè)索引都被綁定到了一個(gè)特定的分區(qū),而每個(gè)分區(qū)都由單獨(dú)的鎖進(jìn)行保護(hù)。其實(shí)通俗點(diǎn)理解,就是降低了鎖的粒度。分區(qū)的數(shù)量我們可以通過配置innodb_adaptive_hash_index_parts來改變,其可配置的區(qū)間范圍為[8, 512]。

Change Buffer

聊完了 Buffer Pool 中索引相關(guān),剩下的就是 Change Buffer 了。Change Buffer是一塊比較特殊的區(qū)域,其作用是用于存儲(chǔ)那些當(dāng)前不在 Buffer Pool 中的但是又被修改過的二級(jí)索引。

用流程來描述一下就是,當(dāng)我們更新了非聚簇索引(二級(jí)索引)的數(shù)據(jù)時(shí),此時(shí)應(yīng)該是直接將其在Buffer Pool中的對(duì)應(yīng)數(shù)據(jù)更新了即可,但是不湊巧的是,當(dāng)前二級(jí)索引不在 Buffer Pool 中,此時(shí)將其從磁盤拉取到 Buffer Pool 中的話,并不是最優(yōu)的解,因?yàn)樵摱?jí)索引可能之后根本就不會(huì)被用到,那么剛剛昂貴的磁盤I/O操作就白費(fèi)了。

所以,我們需要這么一個(gè)地方,來暫存對(duì)這些二級(jí)索引所做的改動(dòng)。當(dāng)被緩存的二級(jí)索引頁(yè)被其他的請(qǐng)求加載到了Buffer Pool 中之后,就會(huì)將 Change Buffer 中緩存的數(shù)據(jù)合并到 Buffer Pool 中去。

當(dāng)然,Change Buffer也不是沒有缺點(diǎn)。當(dāng) Change Buffer 中有很多的數(shù)據(jù)時(shí),全部合并到Buffer Pool可能會(huì)花上幾個(gè)小時(shí)的時(shí)間,并且在合并的期間,磁盤的I/O操作會(huì)比較頻繁,從而導(dǎo)致部分的CPU資源被占用。

那你可能會(huì)問,難道只有被緩存的頁(yè)加載到了 Buffer Pool 才會(huì)觸發(fā)合并操作嗎?那要是它一直沒有被加載進(jìn)來,Change Buffer 不就被撐爆了?很顯然,InnoDB在設(shè)計(jì)的時(shí)候考慮到了這個(gè)點(diǎn)。除了對(duì)應(yīng)的頁(yè)加載,提交事務(wù)、服務(wù)停機(jī)、服務(wù)重啟都會(huì)觸發(fā)合并。
編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3159

    瀏覽量

    75976
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    893

    瀏覽量

    29057
  • 索引
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    10742
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Mysql數(shù)據(jù)恢復(fù)—Windows Server下MySQL(InnoDB)全表誤刪數(shù)據(jù)恢復(fù)案例

    本地服務(wù)器,操作系統(tǒng)為windows server。服務(wù)器上部署mysql單實(shí)例,innodb引擎,獨(dú)立表空間。未進(jìn)行數(shù)據(jù)庫(kù)備份,未開啟binlog。 人為誤操作使用Delete命令刪除數(shù)據(jù)時(shí)未添加where子句,導(dǎo)致全表數(shù)據(jù)被刪除。刪除后未對(duì)該表進(jìn)行任何操作。需要恢復(fù)誤刪除的數(shù)據(jù)。
    的頭像 發(fā)表于 09-23 15:56 ?382次閱讀
    Mysql數(shù)據(jù)恢復(fù)—Windows Server下MySQL(<b class='flag-5'>InnoDB</b>)全表誤刪數(shù)據(jù)恢復(fù)案例

    C語言中結(jié)構(gòu)體與聯(lián)合體的深度解析:內(nèi)存布局與應(yīng)用場(chǎng)景

    一、基礎(chǔ)概念與核心差異 1.1 結(jié)構(gòu)體(Struct)的本質(zhì) **結(jié)構(gòu)體是C語言中實(shí)現(xiàn)數(shù)據(jù)封裝的基石,其核心特征在于內(nèi)存獨(dú)立性。每個(gè)成員變量在內(nèi)存中按聲明順序依次排列,形成連續(xù)的
    發(fā)表于 04-08 09:18

    golang內(nèi)存分配

    作者:錢文 Go 的分配采用了類似 tcmalloc 的結(jié)構(gòu).特點(diǎn): 使用一小塊一小塊的連續(xù)內(nèi)存頁(yè), 進(jìn)行分配某個(gè)范圍大小的內(nèi)存需求. 比如某個(gè)連續(xù) 8KB 專門用于分配 17-24 字節(jié),以此減少
    的頭像 發(fā)表于 03-31 15:00 ?344次閱讀
    golang<b class='flag-5'>內(nèi)存</b>分配

    快速搞懂C語言程序內(nèi)存分區(qū)!

    到動(dòng)態(tài)分配的數(shù)據(jù)等內(nèi)容。(內(nèi)存分區(qū)圖示)理解這些內(nèi)存分區(qū)的結(jié)構(gòu)和特性,不僅有助于編寫更高效的代碼,還能幫助排查和解決如段錯(cuò)誤、內(nèi)存泄漏、棧溢出等常見問題。以下是常見的六
    的頭像 發(fā)表于 03-14 17:37 ?1129次閱讀
    快速搞懂C語言程序<b class='flag-5'>內(nèi)存</b>分區(qū)!

    分析C語言代碼結(jié)構(gòu)的設(shè)計(jì)問題

    來分析一個(gè)C語言代碼結(jié)構(gòu)的設(shè)計(jì)問題。 這段代碼,使用了兩次malloc,分別給 p1 和 p2 申請(qǐng)了內(nèi)存。用完后,內(nèi)存釋放,防止內(nèi)存泄漏。 大家覺得,這樣的代碼設(shè)計(jì)有沒有問題。 代碼
    的頭像 發(fā)表于 02-11 09:31 ?563次閱讀

    I2C總線數(shù)據(jù)包結(jié)構(gòu)詳解

    。以下是I2C總線數(shù)據(jù)包結(jié)構(gòu)詳解: 一、I2C總線數(shù)據(jù)包的基本組成 I2C總線上的數(shù)據(jù)傳輸以數(shù)據(jù)包為單位進(jìn)行,每個(gè)數(shù)據(jù)包包含起始信號(hào)、設(shè)備地址、數(shù)據(jù)傳輸方向位、數(shù)據(jù)字節(jié)以及應(yīng)答信號(hào)(ACK/NACK)等部分。 起始信號(hào)(S) : 起始信號(hào)標(biāo)志著數(shù)據(jù)傳輸?shù)拈_始。當(dāng)SCL為
    的頭像 發(fā)表于 01-17 15:46 ?1249次閱讀

    labview完成該操作內(nèi)存不足

    程序運(yùn)行一段時(shí)間后顯示內(nèi)存不足 這是為什么?是否是程序結(jié)構(gòu)冗余?
    發(fā)表于 01-04 14:26

    什么是虛擬內(nèi)存分頁(yè) Windows系統(tǒng)虛擬內(nèi)存優(yōu)化方法

    虛擬內(nèi)存分頁(yè)概述 在Windows操作系統(tǒng)中,虛擬內(nèi)存是通過分頁(yè)機(jī)制實(shí)現(xiàn)的。分頁(yè)允許系統(tǒng)將內(nèi)存中的數(shù)據(jù)移動(dòng)到硬盤上,以便為當(dāng)前運(yùn)行的程序騰出空間。這個(gè)過程對(duì)于保持系統(tǒng)的流暢運(yùn)行至關(guān)重要,尤其是在物理
    的頭像 發(fā)表于 12-04 09:16 ?1999次閱讀

    虛擬內(nèi)存不足如何解決 虛擬內(nèi)存和物理內(nèi)存的區(qū)別

    虛擬內(nèi)存不足的解決方案 虛擬內(nèi)存不足是計(jì)算機(jī)用戶經(jīng)常遇到的問題,尤其是在運(yùn)行大型軟件或多任務(wù)處理時(shí)。以下是一些解決虛擬內(nèi)存不足問題的方法: 增加物理內(nèi)存(RAM) : 這是最直接的解決
    的頭像 發(fā)表于 12-04 09:14 ?2098次閱讀

    虛擬內(nèi)存的作用和原理 如何調(diào)整虛擬內(nèi)存設(shè)置

    虛擬內(nèi)存,也稱為虛擬內(nèi)存管理或頁(yè)面文件,是計(jì)算機(jī)操作系統(tǒng)中的一種內(nèi)存管理技術(shù)。它允許系統(tǒng)使用硬盤空間作為額外的RAM(隨機(jī)存取存儲(chǔ)器),以彌補(bǔ)物理內(nèi)存(RAM)的不足。虛擬
    的頭像 發(fā)表于 12-04 09:13 ?4555次閱讀

    DDR5內(nèi)存與DDR4內(nèi)存性能差異

    DDR5內(nèi)存與DDR4內(nèi)存性能差異 隨著技術(shù)的發(fā)展,內(nèi)存技術(shù)也在不斷進(jìn)步。DDR5內(nèi)存作為新一代的內(nèi)存技術(shù),相較于DDR4
    的頭像 發(fā)表于 11-29 14:58 ?4024次閱讀

    DDR5內(nèi)存的工作原理詳解 DDR5和DDR4的主要區(qū)別

    DDR5內(nèi)存的工作原理詳解 1. DDR5內(nèi)存簡(jiǎn)介 DDR5(Double Data Rate 5)是第五代雙倍數(shù)據(jù)速率同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)。它是DDR4的后續(xù)產(chǎn)品,提供更高
    的頭像 發(fā)表于 11-22 15:38 ?6588次閱讀

    DDR內(nèi)存的工作原理與結(jié)構(gòu)

    電子設(shè)備的內(nèi)存技術(shù)。以下是對(duì)DDR內(nèi)存的工作原理與結(jié)構(gòu)的介紹: 一、工作原理 時(shí)鐘同步 :DDR內(nèi)存是同步的,這意味著數(shù)據(jù)傳輸與系統(tǒng)時(shí)鐘同步。時(shí)鐘信號(hào)用于協(xié)調(diào)
    的頭像 發(fā)表于 11-20 14:32 ?3419次閱讀

    如何檢測(cè)DDR內(nèi)存性能

    檢測(cè)DDR內(nèi)存性能是一個(gè)涉及硬件和軟件的綜合過程,可以通過以下幾個(gè)步驟來進(jìn)行: 1. 硬件檢查 1.1 確認(rèn)內(nèi)存規(guī)格 查看內(nèi)存條標(biāo)簽 :檢查內(nèi)存條上的標(biāo)簽,確認(rèn)其規(guī)格,包括DDR類型(
    的頭像 發(fā)表于 11-20 14:30 ?4095次閱讀

    詳解MySQL多實(shí)例部署

    詳解MySQL多實(shí)例部署
    的頭像 發(fā)表于 11-11 11:10 ?911次閱讀