MySql優化(二) 聚簇索引與非聚簇索引

2021-10-04 02:25:46 字數 358 閱讀 1204

myisam下的檔案:frm、myd、myi分別是myisam引擎表的結構檔案資料檔案索引檔案,索引檔案與資料檔案分離,這就是非聚簇索引。

innodb的索引檔案上,直接存放該行的資料,成為聚簇索引,次索引指向對主鍵的索引,例如表a中有主索引id,次索引price,資料儲存在主索引id的檔案上,次索引檔案上不放具體資料,指向主索引。

相比myisam的優點:

a:根據主鍵查詢時,不用回行,行資料已經儲存在索引檔案上

相比myisam的缺點:

a:當主鍵資料不規律插入時,如插入1,30,9999,678,333時,會很慢。

mysql聚簇索引與非聚簇索引

myisam 示意圖 innodb 示意圖 注意 innodb來說,聚簇索引優缺點 說明 聚簇索引中的每個葉子節點包含主鍵值 事務id 回滾指標 rollback pointer用於事務和mvcc 和餘下的列 如col2 每次使用輔助索引檢索都要經過兩次b 樹查詢,看上去聚簇索引的效率明顯要低於非聚...

mysql聚簇索引與非聚簇索引

myisam 示意圖 innodb 示意圖 注意 innodb來說,聚簇索引優缺點 說明 聚簇索引中的每個葉子節點包含主鍵值 事務id 回滾指標 rollback pointer用於事務和mvcc 和餘下的列 如col2 每次使用輔助索引檢索都要經過兩次b 樹查詢,看上去聚簇索引的效率明顯要低於非聚...

聚簇與非聚簇索引

我們平時建立的索引唯一鍵索引,復合索引,字首索引都是非聚簇索引,有的也叫輔助索引 secondary index 其資料結構是b 樹。在mysql中,聚簇索引沒有語句可以生成,在 innodb中,資料是按照主鍵的順序來進行儲存的。葉子節點就是存放每條記錄的。由於表所有資料只能按照乙個b 樹進行排序,...