国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL中的Buffer Pool

這篇具有很好參考價(jià)值的文章主要介紹了MySQL中的Buffer Pool。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、概述

????????Buffer Pool是數(shù)據(jù)庫(kù)的一個(gè)內(nèi)存組件,里面緩存了磁盤上的真實(shí)數(shù)據(jù),然后我們的Java系統(tǒng)對(duì)數(shù)據(jù)庫(kù)執(zhí)行的增刪改操作,其實(shí)主要就是對(duì)這個(gè)內(nèi)存數(shù)據(jù)結(jié)構(gòu)中的緩存數(shù)據(jù)執(zhí)行的。我們先來(lái)看一下下面的圖,里面就畫(huà)了數(shù)據(jù)庫(kù)中的Buffer Pool內(nèi)存組件。

MySQL中的Buffer Pool,MySQL,mysql,數(shù)據(jù)庫(kù)

?二、數(shù)據(jù)頁(yè)

????????接著我們來(lái)看下一個(gè)問(wèn)題,假設(shè)現(xiàn)在我們的數(shù)據(jù)庫(kù)中一定有一片內(nèi)存區(qū)域是Buffer Pool了,那么我們的數(shù)據(jù)是如何放在Buffer Pool中的?
????????我們都知道數(shù)據(jù)庫(kù)的核心數(shù)據(jù)模型就是表+字段+行的概念,也就是說(shuō)我們都知道數(shù)據(jù)庫(kù)里有一個(gè)一個(gè)的表,一個(gè)表有很多字段,然后一個(gè)表里有很多行數(shù)據(jù),每行數(shù)據(jù)都有自己的字段值。所以大家覺(jué)得我們的數(shù)據(jù)是一行一行的放在Buffer Pool里面的嗎?
????????這就明顯不是了,實(shí)際上MySQL對(duì)數(shù)據(jù)抽象出來(lái)了一個(gè)數(shù)據(jù)頁(yè)的概念,他是把很多行數(shù)據(jù)放在了一個(gè)數(shù)據(jù)頁(yè)里,也就是說(shuō)我們的磁盤文件中就是會(huì)有很多的數(shù)據(jù)頁(yè),每一頁(yè)數(shù)據(jù)里放了很多行數(shù)據(jù),如下圖所示。

MySQL中的Buffer Pool,MySQL,mysql,數(shù)據(jù)庫(kù)

????????所以實(shí)際上假設(shè)我們要更新一行數(shù)據(jù),此時(shí)數(shù)據(jù)庫(kù)會(huì)找到這行數(shù)據(jù)所在的數(shù)據(jù)頁(yè),然后從磁盤文件里把這行數(shù)據(jù)所在的數(shù)據(jù)頁(yè)直接給加載到Buffer Pool里去。
????????也就是說(shuō),Buffer Pool中存放的是一個(gè)一個(gè)的數(shù)據(jù)頁(yè),如下圖。

MySQL中的Buffer Pool,MySQL,mysql,數(shù)據(jù)庫(kù)

三、磁盤上的數(shù)據(jù)頁(yè)和Buffer Pool中的緩存頁(yè)是如何對(duì)應(yīng)起來(lái)的?

????????實(shí)際上默認(rèn)情況下,磁盤中存放的數(shù)據(jù)頁(yè)的大小是16KB,也就是說(shuō),一頁(yè)數(shù)據(jù)包含了16KB的內(nèi)容。
????????而B(niǎo)uffer Pool中存放的一個(gè)一個(gè)的數(shù)據(jù)頁(yè),我們通常叫做緩存頁(yè),因?yàn)楫吘笲uffer Pool是一個(gè)緩沖池,里面的數(shù)據(jù)都是從磁盤緩存到內(nèi)存去的。
????????而B(niǎo)uffer Pool中默認(rèn)情況下,一個(gè)緩存頁(yè)的大小和磁盤上的一個(gè)數(shù)據(jù)頁(yè)的大小是一一對(duì)應(yīng)起來(lái)的,都是16KB。
????????所以我們看下圖,我給圖中的Buffer Pool標(biāo)注出來(lái)了他的內(nèi)存大小,假設(shè)他是128MB吧,然后數(shù)據(jù)頁(yè)的大小是16KB。

MySQL中的Buffer Pool,MySQL,mysql,數(shù)據(jù)庫(kù)

四、緩存頁(yè)對(duì)應(yīng)的描述信息是什么?

????????接著我們要了解下一個(gè)概念,對(duì)于每個(gè)緩存頁(yè),他實(shí)際上都會(huì)有一個(gè)描述信息,這個(gè)描述信息大體可以認(rèn)為是用來(lái)描述這個(gè)緩存頁(yè)的。
????????比如包含如下的一些東西:這個(gè)數(shù)據(jù)頁(yè)所屬的表空間、數(shù)據(jù)頁(yè)的編號(hào)、這個(gè)緩存頁(yè)在Buffer Pool中的地址以及別的一些雜七雜八的東西。
????????每個(gè)緩存頁(yè)都會(huì)對(duì)應(yīng)一個(gè)描述信息,這個(gè)描述信息本身也是一塊數(shù)據(jù),在Buffer Pool中,每個(gè)緩存頁(yè)的描述數(shù)據(jù)放在最前面, 然后各個(gè)緩存頁(yè)放在后面。所以此時(shí)我們看下面的圖,Buffer Pool實(shí)際看起來(lái)大概長(zhǎng)這個(gè)樣子。

MySQL中的Buffer Pool,MySQL,mysql,數(shù)據(jù)庫(kù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-677250.html

到了這里,關(guān)于MySQL中的Buffer Pool的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【MySQL】change buffer,buffer pool,redo log,bin log,undo log的作用

    當(dāng)需要更新一個(gè)數(shù)據(jù)頁(yè)時(shí),如果數(shù)據(jù)頁(yè)在內(nèi)存中就直接更新,而如果這個(gè)數(shù)據(jù)頁(yè)還沒(méi)有在內(nèi)存中的話,在不影響數(shù)據(jù)一致性的前提下,InnoDB 會(huì)將這些更新操作緩存在 change buffer 中,這樣就不需要從磁盤中讀入這個(gè)數(shù)據(jù)頁(yè)了。 在下次查詢需要訪問(wèn)這個(gè)數(shù)據(jù)頁(yè)的時(shí)候,將數(shù)據(jù)頁(yè)

    2024年02月16日
    瀏覽(27)
  • mysql8.0 性能優(yōu)化配置 innodb_buffer_pool_size

    15.5.1?Buffer Pool 緩沖池是主內(nèi)存中的一個(gè)區(qū)域,InnoDB在訪問(wèn)表和索引數(shù)據(jù)時(shí)會(huì)在該區(qū)域進(jìn)行緩存。緩沖池允許直接從內(nèi)存訪問(wèn)頻繁使用的數(shù)據(jù),這加快了處理速度。在專用服務(wù)器上, 通常會(huì)將高達(dá)80%的物理內(nèi)存分配給緩沖池。 為了提高高容量讀取操作的效率,緩沖池被劃分為

    2024年02月09日
    瀏覽(12)
  • 【MySQL 數(shù)據(jù)庫(kù)】11、學(xué)習(xí) MySQL 中的【鎖】

    【MySQL 數(shù)據(jù)庫(kù)】11、學(xué)習(xí) MySQL 中的【鎖】

    鎖是計(jì)算機(jī)協(xié)調(diào)多個(gè)進(jìn)程或線程并發(fā)訪問(wèn)某一資源的機(jī)制 在數(shù)據(jù)庫(kù)中,除傳統(tǒng)的計(jì)算資源(CPU、RAM、I/O)的爭(zhēng)用以外,數(shù)據(jù)也是一種供許多用戶共享的資源。如何保證數(shù)據(jù)并發(fā)訪問(wèn)的一致性、有效性是所有數(shù)據(jù)庫(kù)必須解決的一個(gè)問(wèn)題 鎖沖突是影響數(shù)據(jù)庫(kù)并發(fā)訪問(wèn)性能的一個(gè)

    2024年02月08日
    瀏覽(20)
  • mysql undo log、redo log、binlog、mvcc、Buffer Pool的關(guān)系

    ????????MySQL中的undo log、redo log、binlog和MVCC(多版本并發(fā)控制)是數(shù)據(jù)庫(kù)管理系統(tǒng)中的 重要概念,它們各自有不同的作用和關(guān)系。 Buffer Pool(緩沖池): 作為InnoDB存儲(chǔ)引擎的核心組件,Buffer Pool用于緩存從磁盤讀取的數(shù)據(jù)頁(yè)。所有的數(shù)據(jù)修改首先發(fā)生在內(nèi)存中的緩沖池里

    2024年02月02日
    瀏覽(25)
  • MySQL 8.0 Reference Manual(讀書(shū)筆記70節(jié)--InnoDB Buffer Pool Configuration)

    When increasing or decreasing innodb_buffer_pool_size , the operation is performed in chunks. Chunk size is defined by the innodb_buffer_pool_chunk_size configuration option, which has a default of 128M.-----innodb_buffer_pool_size的擴(kuò)容和縮容,都是以innodb_buffer_pool_chunk_size為單位進(jìn)行的,其默認(rèn)為128M 。 Buffer pool size must always

    2024年03月24日
    瀏覽(92)
  • 【MySql】如何重置MySQL數(shù)據(jù)庫(kù)表中的id

    ?方法一:原來(lái)的id取消自增和主鍵,只用于表格的排序。 新插入一個(gè)id2,自然會(huì)根據(jù)自增重新排列。刪除id,id2改id即可。 使用這種方法不影響表中數(shù)據(jù),從1遞增開(kāi)始遞增 方法二:清空表,并重置id 一次性刪除所有數(shù)據(jù),不可恢復(fù),無(wú)法回滾? 方法三: 方法四:

    2024年02月12日
    瀏覽(25)
  • docker中的mysql數(shù)據(jù)庫(kù)備份

    ???????? 1、查看容器 docker ps 2、進(jìn)入容器 docker exec -it 容器id /bin/bash 3、備份數(shù)據(jù) mysqldump 數(shù)據(jù)庫(kù)名稱 -uroot -p /root/**.sql 回車輸入數(shù)據(jù)庫(kù)密碼: 4、退出容器 exit 5、把容器中的文件拷貝出來(lái) docker cp 容器id:/root/**.sql /root/ 例如: mysqldump test_db -uroot -p /root/test_db_0110.sql 常見(jiàn)錯(cuò)

    2024年02月12日
    瀏覽(22)
  • MySQL 8.0 Reference Manual(讀書(shū)筆記72節(jié)--InnoDB Buffer Pool Configuration (3))

    主要內(nèi)容為【熱啟動(dòng)】,就是把之前常用的內(nèi)存數(shù)據(jù),按照劃定的比例快速重新加載到內(nèi)存中。 To reduce the warmup period after restarting the server, InnoDB saves a percentage of the most recently used pages for each buffer pool at server shutdown and restores these pages at server startup. The percentage of recently used pa

    2024年03月24日
    瀏覽(52)
  • MySQL 8.0 Reference Manual(讀書(shū)筆記71節(jié)--InnoDB Buffer Pool Configuration (2))

    MySQL 8.0 Reference Manual(讀書(shū)筆記71節(jié)--InnoDB Buffer Pool Configuration (2))

    【目的是未來(lái)提高并發(fā),減少競(jìng)爭(zhēng)】 For systems with buffer pools in the multi-gigabyte range, dividing the buffer pool into separate instances can improve concurrency, by reducing contention as different threads read and write to cached pages. This feature is typically intended for systems with a buffer pool size in the multi-gigabyte range. Mu

    2024年03月24日
    瀏覽(28)
  • 【MySQL】Navicat/SQLyog連接Ubuntu中的數(shù)據(jù)庫(kù)(MySQL)

    【MySQL】Navicat/SQLyog連接Ubuntu中的數(shù)據(jù)庫(kù)(MySQL)

    ??浩澤學(xué)編程 :個(gè)人主頁(yè) ??? 推薦專欄 :《深入淺出SpringBoot》《java對(duì)AI的調(diào)用開(kāi)發(fā)》 ??????????????《RabbitMQ》《Spring》《SpringMVC》 ??學(xué)無(wú)止境,不驕不躁,知行合一 遇到一個(gè)Navicat/SQLyog連接Ubuntu中的數(shù)據(jù)庫(kù)(MySQL)的報(bào)錯(cuò):中文意思是不能在x.x.x.x(主機(jī)號(hào))上連

    2024年02月21日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包