身為一個後端工程師都知道資料庫是很重要的一環
老實說在小產品內開開資料庫、設計一下table、想想要那些欄位即可處理大部分的問題
但俗話說的話 溫水煮青蛙 這樣真的夠了嗎???
等你到了一個坎就會知道遠遠不夠的
因此為了自己不要被煮死做成三杯田蛙
將在這30天內成為一隻歸零學習Mysql的青蛙 跳出舒適圈
期許將來能夠蛙躍龍門
工欲善其事必先利其器,來~先裝個mysql(Mac電腦) 這邊要先了解一個觀念,mysql是由兩個部分組成(client端與server端)裝完mysql se...
前文提到mac電腦啟動mysql的方式為 brew services start mysql 其實我們也可以執行可執行檔(/usr/local/mysql/b...
我們都知道電腦實際儲存的是二進位資料,那是怎麼儲存字元的呢?可以想像的就是必須讓字元映射成二進位資料(編碼)進而儲存。因此我們必須制定哪些字元可以映射?映射的規...
我們知道儲存引擎是實際實現讀取、儲存資料的重要東西所以今天就來針對Innodb(MySQL的預設引擎)來探討,更深入的了解它的細節,幫助我們未來面對不同的場景,...
前文提到頁是Innodb的基本存取單位,一般為16kb,Innodb為了實現功能其實設計了許多不同類型的頁,但我們不管那麼多,今天就只探討我們最關心的儲存記錄的...
資列頁(16kb大小)的結構有7個部分 1.使用者紀錄(user records)2.空閒空間(free space)3.頁面中最小與最大的紀錄(infimum...
進入到這篇之前要先確保大家有一些概念。 大家要知道Innodb各個資料頁物理上並沒有連在一起,而是透過FIL_PAGE_PREV和FIL_PAGE_NEXT屬性...
聚簇索引 有兩個特點 使用主鍵值大小進行紀錄和頁的排序包含三個方面 頁內的所有紀錄(包含使用者紀錄與目錄項紀錄)按照主鍵值大小形成一個單向鏈結串列,紀錄被...
前文非常詳細的說明了Innodb儲存引擎的B+樹索引,我們必須熟悉下面這些觀念。 每個索引都對應一棵B+樹。B+樹分為好多層,最下面一層是葉子節點(所有使用者...
此篇由於篇幅的關係為前文的連貫。如沒有看到前文請先去看看再來唷~ 前情提要-我們前面為了方便解釋,建了個表還有索引 mysql> create table...