mysql聚簇索引和非聚簇索引的區別

2021-10-09 06:36:27 字數 433 閱讀 4522

mysql

聚簇索引和非聚簇

索引的區別是:對於聚簇

索引,表資料按順序儲存,即索引順序和表記錄物理儲存順序一致;對於非聚簇索引,表資料儲存順序與索引順序無關。

mysql聚簇索引和非聚簇索引的區別介紹:

表資料按順序儲存,即索引順序和表記錄物理儲存順序一致。

聚簇索引 葉子節點儲存資料行和b-tree索引。

在乙個表中只能有乙個聚簇索引,因為真實物理儲存順序只能有一種。

聚簇索引是稀疏索引,資料頁上一級索引儲存是頁指標,非行指標。

表資料儲存順序與索引順序無關。

對於非聚簇索引,葉節點包含行主鍵值和主鍵值作為指向行的「指標」,通過二級索引查詢,兩次b-tree查詢 innodb自適應雜湊索引能夠減少這樣重複工作。

非聚簇索引是密集索引,在資料頁的上一級索引頁它為每乙個資料行儲存一條記錄。

MySQL 聚簇索引 和 非聚簇索引

索引節點的葉子頁面就好比一片葉子。葉子頭便是索引鍵值。先建立一張表 create table user id intnot null name varchar notnull class varchar notnull 對於myisam引擎,如果建立 id 和 name 為索引。對於下面查詢 sel...

MySQL聚簇索引和非聚簇索引

聚簇索引是指葉子節點儲存的是一整行記錄,比如innodb的主鍵索引,主鍵和表資料儲存在一起。聚簇索引並不是一種單獨的索引型別,而是一種資料儲存方式,因為一行資料不能同時儲存在兩個地方,所以一張表中只能有乙個聚簇索引,因為一張表的資料儲存順序只能是一種,故只有innodb主鍵索引是聚簇索引。聚簇索引的...

聚簇索引和非聚簇索引

一 聚簇索引 clustered indexes 的使用 聚簇索引是一種對磁碟上實際資料重新組織以按指定的乙個或多個列的值排序。由於聚簇索引的索引頁面指標指向資料頁面,所以使用聚簇索引查詢資料幾 乎總是比使用非聚簇索引快。每張表只能建乙個聚簇索引,並且建聚簇索引需要至少相當該錶120 的附加空間,以...