sqlserver中使用頁為儲存單元的,那麼在建立索引時,其索引節點就是頁了,然後樹的鍵值就是存放到這些頁(節點)中的。就是說表中的資料行就是存放到頁上的,乙個表有多個頁構成,這些頁以樹的結構存放。
如下圖為聚集索引的儲存結構(來自網路)。其中可以看出頁有兩種:index rows(索引頁)、data rows(資料頁),所有非葉子節點都存放著索引項,資料行是存放在葉子節點中的,只有葉子節點才真實存放著表中的每一行資料,而其他非葉子節點的頁都存放著聚集索引的鍵值。因此查詢資料的時間複雜度都是一樣的,就是該樹的深度。
在4.2中有說明,聚集索引決定了表資料的儲存順序,具體可以參考4.2。若表沒有建立聚集索引,則表資料時乙個無序的堆結構。
與聚集索引的儲存結構唯一不一樣的,就是非聚集索引中不儲存真正的資料行,因為在聚集索引中已經存放了資料,非聚集索引只包含乙個指向資料行的指標即可。如下圖所示:
資料庫索引基礎知識
索引是對資料表中的一列或多列的值進行排序的一種結構,使用索引可以快速訪問資料表中的特定資訊。索引的主要目的是加快檢索表中的資料,唯一索引 不允許任何兩行具有相同索引值的索引 主鍵索引 資料表中經常有一列或者多列組合,其值唯一標識表中的每一行 聚集索引 表中行的物理順序與鍵值的邏輯順序相同。乙個表中只...
資料庫索引基礎知識整理
一 索引 1.索引主要分 主鍵索引 唯一索引 普通索引 全文索引 2.建立索引的目的 加快表的查詢和排序 3.建立索引方法 1 create index 索引名 on 表名 列表名 2 alter table 表名 add index 索引名 列表名 3 create table 表名 index ...
資料庫基礎知識二
資料表型別 myisam,innodb,heap,bob,csv,archive,performance schema 名稱 myisam lnnodb 事務處理 不支援支援 資料行鎖定 不支援支援 外來鍵約束 不支援支援 全文索引 支援 不支援 表空間大小 較小 較大約2倍 適用場合 使用myis...