資料庫索引是對資料庫中的表一列或者多列進行排序的儲存結構
代價:
① 增加了資料庫的儲存空間
② 在插入和修改資料時要花費較多的時間(因為索引也要隨之變動)
概念:對資料重新組織按照指定的乙個或者多列排序
特點:索引和資料儲存在一起,找到了索引也就找到了資料
表資料按照索引的順序來儲存的,也就是說索引項的順序與表中記錄的物理順序一致。
對於聚集索引,葉子結點即儲存了真實的資料行,不再有另外單獨的資料頁。
在一張表上最多只能建立乙個聚集索引,因為真實資料的物理順序只能有一種。
葉子節點: 主鍵值 事物id 回滾指標(用於事物和mvcc) 餘下的列 (儲存了真實的資料)概念: 加快對錶中記錄的查詢或排序。索引順序與資料物理排列順序無關。
特點: 非聚簇索引的葉節點仍然是索引節點,並保留乙個鏈結指向對應資料塊。
葉子節點:key欄位 主鍵值(葉結點包含索引字段值及指向資料頁資料行的邏輯指標,)
資料庫學習筆記八 資料庫索引
一 索引 索引 index 是幫助 mysql 高效獲取資料的資料結構。常見的查詢演算法,順序查詢,二分查詢,二 叉排序樹查詢,雜湊雜湊法,分塊查詢,平衡多路搜尋樹 b 樹 b tree 二 選擇唯一性索引 1 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。2 為經常需要排序 分組和...
資料庫索引 樹 學習
b 樹是一種多路搜尋樹 並不是二叉的 1 定義任意非葉子結點最多只有m個兒子 且m 2 2 根結點的兒子數為 2,m 3 除根結點以外的非葉子結點的兒子數為 m 2,m 4 每個結點存放至少m 2 1 取上整 和至多m 1個關鍵字 至少2個關鍵字 5 非葉子結點的關鍵字個數 指向兒子的指標個數 1 ...
mysql資料庫索引學習
最近做的乙個專案用的是mysql資料,編寫sql 的時候,因為業務複雜,經常有很多表聯合查詢的sql需要編寫,於是我就思考著,如果資料量將來打起來後,這麼複雜的sql執行起來會不會慢,後人接手我的專案後,會不會因為效能原因罵我?帶著問題,開始學習mysql索引相關的內容起來。學了一段,寫篇文章記錄一...