MySQL學習筆記

2021-10-07 07:58:16 字數 965 閱讀 1057

用在事務當中:

undo:記錄原始資料、保證原子性(回滾到原始資料)

redo: 記錄新資料、保證永續性

undo、redo都是快取在記憶體中,需要落地到磁碟中

undo、redo通過快取,較少事務中的資料io。同時引入了undo、redo持久化時的io

髒頁:當記憶體資料頁和磁碟資料頁上的內容不一致時,我們稱為這個記憶體頁為髒頁;記憶體資料寫入磁碟後,記憶體頁為乾淨頁

刷髒頁的時機:

redo log寫滿時候,此時需要將checkpoint向前推進,推進的這部分日誌對應的髒頁刷入到磁碟,此時所有的更新全部阻塞,此時寫的的效能為0,必須待刷一部分髒頁後才能更新。

系統記憶體不足時,需要將一部分資料頁淘汰掉,如果淘汰的是髒頁,需要先將髒頁同步到磁碟。

mysql認為空閒的時間,這種沒有效能問題。

mysql正常關閉之前,會把所有的髒頁刷入磁碟,不存在效能

redo log工作原理

mysql資料庫索引採用的是b+tree結構,在b-tree結構上做了優化改造。

b+ tree結構

聚簇索引和非聚簇索引、主鍵索引和輔助索引

聚簇索引和非聚簇索引:b+tree的葉子節點存放主鍵索引值和行記錄就屬於聚簇索引;如果索引值和行記錄分開存放就屬於非聚簇索引。

輔助索引

innodb輔助索引,也叫作二級索引,是根據索引列構建b+tree結構,但在b+tree的葉子節點中只儲存了索引列主鍵的資訊,二級索引占用的空間會比聚簇索引小很多,通常建立輔助索引就是為了提公升查詢效率。乙個表innodb只能建立乙個聚簇索引,但可以建立多個輔助索引。

mysql學習筆記 51 mysql學習筆記

初學mysql時整理,隨時更新 資料操作 增 insert into 表名 字段列表 values 值列表 值列表 如果要插入的值列表包含所有字段並且順序一致,則可以省略字段列表。可同時插入多條資料記錄!replace 與 insert 完全一樣,可互換。insert into 表名 set 欄位名...

mysql學習筆記 51 Mysql 學習筆記

一.首先進入mysql mysql u root p新增使用者許可權設定 grant all privileges on to jerry localhost identified by aa1234567 只允許本機訪問 grant all privileges on to jerry 10.80...

mysql做筆記 mysql學習筆記

alter table 新增,修改,刪除表的列,約束等表的定義。檢視列 desc 表名 修改表名 alter table t book rename to bbb 新增列 alter table 表名 add column 列名 varchar 30 刪除列 alter table 表名 drop ...