C 面試知識 資料庫索引相關

2021-09-14 02:10:10 字數 546 閱讀 1901

索引包含乙個表的乙個列的值,將這些值通過乙個資料結構儲存,是資料庫系統中乙個資料結構,

提高資料訪問速度

通過b樹或者b+樹或者雜湊表等實現,b樹和b+樹都是平衡二叉樹

b樹每個節點都儲存key和data,所有節點組成這棵樹,並且葉子節點指標為null。

b+樹只有葉子節點儲存data,葉子節點包含了這棵樹的所有鍵值,葉子節點不儲存指標。所有非終端節點看成是索引,節點中僅含有其子樹根節點最大(或最小)的關鍵字,不包含查詢的有效資訊。b+樹中所有葉子節點都是通過指標連線在一起。

b+樹更適合做索引:

1.對磁碟讀寫代價低

因為b+樹只有葉子節點儲存資料,內部節點相對b樹更小,可以將內部節點的關鍵字放在同一盤塊,這樣盤塊儲存的關鍵字就更多,一次性讀入記憶體的關鍵字變多,相對i/o請求次數變少。

2.查詢效率更加穩定

因為b+樹只有葉子節點儲存資料,其他節點相當於是葉子節點的索引,所以查詢每個結點都需要通過根節點一直找到最底層,所以查詢效率穩定。

面試基礎知識 資料庫

事務是指作為單個邏輯工作單元執行的一系列操作,可以被看作乙個單元的一系列sql語句的集合。要麼完全地執行,要麼完全地不執行。如果不對資料庫進行併發控制,可能會產生 髒讀 非重複讀 幻像讀 丟失修改的異常情況。同一時間,只允許乙個事務請求同一資料,不同的事務之間彼此沒有任何干擾。比如a正在從一張銀行卡...

資料庫索引相關知識

查詢條件欄位和排序字段,新增聯合索引,查詢條件欄位在聯合索引的前面 整數型別比字元型別處理開銷更小 盡量避免null,應該指定列為 not null,使用乙個特殊的值 0,或者空值 來代替null 含有null的列很難進行查詢優化,建立索引的原則 1.對於查詢中很少涉及的列或者重複值比較多的列,不要...

初識資料庫索引

資料庫表索引其實就是為了使查詢資料效率快 1 聚集索引 主鍵索引 在資料庫裡面,所有行數都會按照主鍵索引進行排序。2 非聚集索引 就是給普通字段加上索引。3 聯合索引 就是好幾個字段組成的索引,稱為聯合索引。1.建立普通索引 create index indexname on tablename n...