資料庫面試總結

2022-02-11 07:18:34 字數 1415 閱讀 8408

背景:將找工作過程中,資料庫相關的知識在此總結,一定要靜心篩選,方便以後檢視。——20190303

平衡二叉樹、b樹、b+樹、b*樹 理解其中一種你就都明白了

(1)非葉子節點最多擁有兩個子節點;

(2)非葉子節值大於左邊子節點、小於右邊子節點;

(3)樹的左右兩邊的層級數相差不會大於1;

(4)沒有值相等重複的節點;

b樹和平衡二叉樹稍有不同的是b樹屬於多叉樹又名平衡多路查詢樹

b樹相對於平衡二叉樹的不同是,每個節點包含的關鍵字增多了,特別是在b樹應用到資料庫中的時候,資料庫充分利用了磁碟塊的原理(磁碟資料儲存是採用塊的形式儲存的,每個塊的大小為4k,每次io進行資料讀取時,同乙個磁碟塊的資料可以一次性讀取出來)把節點大小限制和充分使用在磁碟快大小範圍;把樹的節點關鍵字增多後樹的層級比原來的二叉樹少了,減少資料查詢的次數和複雜度;

ps:b+樹的非葉子節點不儲存關鍵字記錄的指標,只進行資料索引,這樣使得b+樹每個非葉子節點所能儲存的關鍵字大大增加

3、b+樹天然具備排序功能:b+樹所有的葉子節點資料構成了乙個有序鍊錶,在查詢大小區間的資料時候更方便,資料緊密性很高,快取的命中率也會比b樹高。

4、b+樹全節點遍歷更快:b+樹遍歷整棵樹只需要遍歷所有的葉子節點即可,,而不需要像b樹一樣需要對每一層進行遍歷,這有利於資料庫做全表掃瞄。

b樹相對於b+樹的優點是,如果經常訪問的資料離根節點很近,而b樹的非葉子節點本身存有關鍵字其資料的位址,所以這種資料檢索的時候會要比b+樹快。

相同思想:採用二分查詢和資料平衡策略來提公升查詢資料的速度。

不同點:這些資料結構在演變的過程中通過io從磁碟讀取資料的原理進行一步步的演變,每次演變都是為了讓節點的空間更加合理的運用起來,從而使樹的層級減少,打到快速查詢的目的。

ps: 詳細講解explain中各個欄位的含義

mysql explain執行計畫解讀

mysql優化之explain詳解

id ,select type,table,type,key,exta

type:訪問型別,sql查詢優化中乙個很重要的指標,結果值從好到壞依次是:

system > const > eq_ref > ref> fulltext > ref_or_null > index_merge > unique_subquery > index_subquery >range > index > all

一般來說,好的sql查詢至少達到range級別,最好能達到ref

當發起乙個被索引覆蓋的查詢(也叫作索引覆蓋查詢)時,在explain的extra列可以看到「using index」的資訊

理解mysql資料庫覆蓋索引

簡單介紹一下mysql中的覆蓋索引

資料庫邏輯設計之三大正規化通俗理解,一看就懂,書上說的太晦澀

面試總結之資料庫

讀未提交 會導致髒讀 虛讀 幻讀 讀已提交 會導致虛讀和幻讀 可重複讀 mysql預設隔離級別 會導致幻讀 序列化 最高隔離級別 觸發器作用 強化約束,維護資料完整性和一致性 1.多種資料型別 string set list hash sorted set 2.記憶體儲存 讀寫速度快於硬碟。支援持久...

資料庫面試題總結

總結一下常見的資料庫相關的面試題。資料庫分類問題 資料庫大小寫敏感問題 sql中like的用法 sql中regexp正規表示式的用法 正規表示式規則 在這裡,我認為通常資料庫的分類分為兩種 關係型資料庫和非關係型資料庫。1.like like可以和萬用字元 搭配,它包含的意思分別是任意個數的字元 任...

資料庫面試題總結

1 索引 檢視 儲存過程 事務 2 資料庫引擎 3 資料庫優化 4 資料庫遷移 災備 一 索引 索引型別 普通索引 唯一索引 聚合索引 非聚合索引 1 原理 2 優缺點 唯一索引保證表中資料唯 一 加快查詢速度 加強表之間的聯絡 額外占用物理空間 會根據資料庫表的curd而變動 3 使用場景 經常需...