在關聯式資料庫中,索引是一種單獨的、物理的對資料庫表中一列或多列的資料進行排序的一種儲存結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的資料頁的邏輯指標清單
索引就像書的目錄, 通過書的目錄就準確的定位到了書籍具體的內容,加索引能使查詢變快
create index index_name on table_name(colum_name);
在資料庫中建立索引主要有以下作用:
快速取資料
保證資料記錄的唯一性
實現表與表之間的參照完整性
在使用order by
、group by
子句進行資料檢索時,可以減少排序和分組的時間
主流的rdbms都是把平衡樹當做資料表預設的索引資料結構
平衡樹(非二叉樹)即b樹、b+樹平衡樹的查詢次數(複雜度)
\[log_^ = 查詢次數
\]
假如一張表有一億條資料 ,需要查詢其中某一條資料,最壞的情況下需要匹配一億次才能得到結果平衡樹這個結構必須一直維持在乙個正確的狀態如果把這張表轉換成平衡樹結構,假設這棵樹有10層,那麼只需要10次io開銷就能查詢到所需要的資料, 速度以指數級別提公升
10是樹的分叉數, 查詢次數從億降到了個位數。
增刪改資料都會改變平衡樹各節點中的索引資料內容,破壞樹結構
在每次資料改變時, dbms必須去重新梳理樹(索引)的結構以確保它的正確,這會帶來不小的效能開銷
資料庫學習筆記 索引
二 待補充 在資料庫表中,對欄位建立索引可以大大提高查詢速度。通過善用這些索引,可以令mysql的查詢和 執行更加高效。修改表結構 新增主鍵索引 alter table 表名 add primary key 列名 alter table 表名 add unique 列名 alter table 表名...
資料庫學習筆記八 資料庫索引
一 索引 索引 index 是幫助 mysql 高效獲取資料的資料結構。常見的查詢演算法,順序查詢,二分查詢,二 叉排序樹查詢,雜湊雜湊法,分塊查詢,平衡多路搜尋樹 b 樹 b tree 二 選擇唯一性索引 1 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。2 為經常需要排序 分組和...
資料庫之 索引(學習筆記)
索引是由資料庫表一列或者多列組合而成,其作用是提高對錶中資料的查詢速度,類似圖書的圖書目錄,方便快速定位,尋找指定的內容 優點 提高查詢資料的速度 缺點 建立和維護索引的時間增加了 1.普通索引 這類索引可以建立在任何型別資料庫中 2.唯一性索引 使用unique引數可可以設定,在建立唯一性索引時,...