主鍵索引和非主鍵索引

2021-09-26 23:20:12 字數 458 閱讀 4695

對於一張資料表,id為主鍵

非主鍵索引和主鍵索引的區別是:非主鍵索引的葉子節點存放的是主鍵的值,主鍵索引的葉子節點存放的是整行資料。其中,非主鍵索引又稱為二級索引,主鍵索引又稱為聚簇索引。

根據這兩種結構我們來進行下查詢,看看他們在查詢上有什麼區別。

1、如果查詢語句是 select * from table where id = 100,如果是主鍵索引則只需要搜尋id這顆b+樹。

2.如果查詢語句是 select * from table where k = 1,即非主鍵的查詢方式,要先搜尋k索引樹,然後再對id索引樹搜尋一遍。

參考:

mysql非主鍵索引 主鍵索引和非主鍵索引的區別

1.什麼是最左字首原則?以下回答全部是基於mysql的innodb引擎 例如對於下面這一張表 如果我們按照 name 欄位來建立索引的話,採用b 樹的結構,大概的索引結構如下 如果我們要進行模糊查詢,查詢name 以 張 開頭的所有人的id,即 sql 語句為 select id from tabl...

mysql非主鍵索引 主鍵索引和非主鍵索引解析

1.什麼是最左字首原則?以下回答全部是基於mysql的innodb引擎 例如對於下面這一張表 如果我們按照 name 欄位來建立索引的話,採用b 樹的結構,大概的索引結構如下 如果我們要進行模糊查詢,查詢name 以 張 開頭的所有人的id,即 sql 語句為 select id from tabl...

索引和主鍵

主鍵是錶行資料的唯一標識,具有唯一性和非空屬性,索引主要作用是用於查詢,提供查詢速度的。1.什麼是索引 索引是sqlserver編排資料的內部方法,是檢索表中資料的直接通道。它類似漢語詞典裡面的拼音目錄,通過它可以快速查詢到某個字詞。索引頁是資料庫中儲存說要的資料頁。索引頁存放檢索資料行的關鍵字頁及...