原文:InnoDB學習(一)之BufferPool

我們知道InnoDB數據庫的數據是持久化在磁盤上的,而磁盤的IO速度很慢,如果每次數據庫訪問都直接訪問磁盤,顯然嚴重影響數據庫的性能。為了提升數據庫的訪問性能,InnoDB為數據庫的數據增加了內存緩存區 BufferPool ,避免每次訪問數據庫都進行磁盤IO。 緩存區BufferPool 緩存區並不是Innodb中特有的概念,操作系統中也有緩存區的概念,當用戶第一次從磁盤讀取文件時,會把文件緩存 ...

2021-12-07 10:54 0 762 推薦指數:

查看詳情

InnoDB學習(二)之ChangeBuffer

ChangeBuffer是InnoDB緩存區的一種特殊的數據結構,當用戶執行SQL對非唯一索引進行更改時,如果索引對應的數據頁不在緩存中時,InnoDB不會直接加載磁盤數據到緩存數據頁中,而是緩存對這些更改操作。這些更改操作可能由插入、更新或刪除操作(DML)觸發。緩存區的更改操作會在磁盤數據 ...

Thu Dec 09 00:36:00 CST 2021 0 146
InnoDB學習(四)之RedoLog和UndoLog

BinLog是MySQL Server層的日志,所有的MySQL存儲引擎都支持BinLog。BinLog可以支持主從復制和數據恢復,但是對事務的ACID特性支持比較差。InnoDB存儲引擎引入RedoLog和UndoLog事務日志,用於提升事務場景下的數據庫性能。本文會對RedoLog ...

Wed Dec 15 02:10:00 CST 2021 0 801
InnoDB學習(三)之BinLog

BinLog又稱為二進制日志,是MySQL服務層的數據日志,MySQL所有的存儲引擎都支持BinLog。BinLog記錄了MySQL中的數據更新和可能導致數據更新的事件,可以用於主從復制或數據恢復。本 ...

Fri Dec 10 01:54:00 CST 2021 0 270
Innodb行鎖源碼學習(一)

Innodb是mysql數據庫中目前最流行的存儲引擎,innodb相對其它存儲引擎一個很大的特點是支持事務,並且支持行粒度的鎖。今天我重點跟大家分享下innodb行鎖實現的基礎知識。由於篇幅比較大,文章會按如下的目錄結構展開。 {  innodb鎖結構  鎖機制關鍵流程 ...

Wed Jan 28 22:00:00 CST 2015 2 3905
MySQL InnoDB Online DDL學習

MySQL Online DDL這個新特性是在MySQL5.6.7開始支持的,更早期版本的MySQL進行DDL對於DBA來說是非常痛苦的。現在主流版本都集中在5.6與5.7,為了更好的理解Online ...

Fri Feb 15 18:09:00 CST 2019 2 1457
小白學習mysql 之 innodb locks

##Innodb 鎖類型: Shared and Exclusive Locks Intention Locks Record Locks Gap Locks Next-Key Locks Insert Intention Locks AUTO-INC ...

Thu Dec 14 22:35:00 CST 2017 0 1500
【mysql學習InnoDB數據結構

原來知道有一些索引失效的條件,最近看了看mysql底層數據結構,明白了為什么會失效 ,記錄之。眾所周知,常用的mysql數據引擎有兩種,今天全是以InnoDB為基礎開啟探索之旅的,另一種有時間再說吧。 數據頁與數據行 我們都知道,數據庫數據是存在磁盤中的,不過真正處理數據是在內存中進 ...

Wed May 29 05:09:00 CST 2019 0 618
MySQL之InnoDB索引面試學習筆記

寫在前面   想要做好后台開發,終究是繞不過索引這一關的。先問自己一個問題,InnoDB為什么選擇B+樹作為默認索引結構。本文主要參考MySQL索引背后的數據結構及算法原理和剖析Mysql的InnoDB索引。 索引   當數據量到達一定規模時,我們通常會對經常使用的字段建立索引,來加快 ...

Fri Apr 26 07:56:00 CST 2019 0 475
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM