iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
自我挑戰組

那些Mysql我不知道的事 系列

身為一個後端工程師都知道資料庫是很重要的一環
老實說在小產品內開開資料庫、設計一下table、想想要那些欄位即可處理大部分的問題
但俗話說的話 溫水煮青蛙 這樣真的夠了嗎???
等你到了一個坎就會知道遠遠不夠的
因此為了自己不要被煮死做成三杯田蛙
將在這30天內成為一隻歸零學習Mysql的青蛙 跳出舒適圈
期許將來能夠蛙躍龍門

鐵人鍊成 | 共 30 篇文章 | 6 人訂閱 訂閱系列文 RSS系列文
DAY 1

小蛙初識MySQL

工欲善其事必先利其器,來~先裝個mysql(Mac電腦) 這邊要先了解一個觀念,mysql是由兩個部分組成(client端與server端) 裝完mysql s...

2021-09-02 ‧ 由 ryanlai 分享
DAY 2

Mysql有那些變數?如何設定?以及有那些值得認識的配置選項呢?

前文提到mac電腦啟動mysql的方式為 brew services start mysql 其實我們也可以執行可執行檔(/usr/local/mysql/b...

2021-09-03 ‧ 由 ryanlai 分享
DAY 3

既熟悉又陌生的字元集與比較規則

我們都知道電腦實際儲存的是二進位資料,那是怎麼儲存字元的呢? 可以想像的就是必須讓字元映射成二進位資料(編碼)進而儲存。 因此我們必須制定哪些字元可以映射?映射...

2021-09-04 ‧ 由 ryanlai 分享
DAY 4

認識Innodb儲存引擎

我們知道儲存引擎是實際實現讀取、儲存資料的重要東西 所以今天就來針對Innodb(MySQL的預設引擎)來探討,更深入的了解它的細節,幫助我們未來面對不同的場景...

2021-09-05 ‧ 由 ryanlai 分享
DAY 5

Innodb資料頁結構-Part1(使用者紀錄、空閒空間、頁面中最小與最大的紀錄)

前文提到頁是Innodb的基本存取單位,一般為16kb,Innodb為了實現功能其實設計了許多不同類型的頁,但我們不管那麼多,今天就只探討我們最關心的儲存記錄的...

2021-09-06 ‧ 由 ryanlai 分享
DAY 6

Innodb資料頁結構-Part2(頁面目錄、頁面表頭、檔案表頭、檔案結尾)

資列頁(16kb大小)的結構有7個部分 1.使用者紀錄(user records) 2.空閒空間(free space) 3.頁面中最小與最大的紀錄(infim...

2021-09-07 ‧ 由 ryanlai 分享
DAY 7

快速查詢的秘密武器B+樹索引-Part1(無索引如何搜尋、基本索引概念)

進入到這篇之前要先確保大家有一些概念。 大家要知道Innodb各個資料頁物理上並沒有連在一起,而是透過FIL_PAGE_PREV和FIL_PAGE_NEXT屬性...

2021-09-08 ‧ 由 ryanlai 分享
DAY 8

快速查詢的秘密武器B+樹索引-Part2(聚簇索引、二級索引、聯合索引及相關注意事項)

聚簇索引 有兩個特點 使用主鍵值大小進行紀錄和頁的排序 包含三個方面 頁內的所有紀錄(包含使用者紀錄與目錄項紀錄)按照主鍵值大小形成一個單向鏈結串列,紀錄...

2021-09-09 ‧ 由 ryanlai 分享
DAY 9

B+樹索引實戰篇-Part1(索引的代價、掃描區間與邊界條件)

前文非常詳細的說明了Innodb儲存引擎的B+樹索引,我們必須熟悉下面這些觀念。 每個索引都對應一棵B+樹。B+樹分為好多層,最下面一層是葉子節點(所有使用者...

2021-09-10 ‧ 由 ryanlai 分享
DAY 10

B+樹索引實戰篇-Part2(聯合索引的掃描區間與邊界條件)

此篇由於篇幅的關係為前文的連貫。 如沒有看到前文請先去看看再來唷~ 前情提要-我們前面為了方便解釋,建了個表還有索引 mysql> create tabl...

2021-09-11 ‧ 由 ryanlai 分享