mysql的innodb引擎本身存盤的形式就必須是聚簇索引的形式 , 在磁盤上樹狀存盤的 , 但是不一定是根據主鍵聚簇的 , 有三種情形:
1. 有主鍵的情況下 , 主鍵就是聚簇索引
2. 沒有主鍵的情況下 , 第一個非空null的唯一索引就是聚簇索引
3. 如果上面都沒有 , 那么就是有一個隱藏的row-id作為聚簇索引
大部分情況下 , 我們建表的時候都會創建主鍵 , 因此大部分都是根據主鍵聚簇的
當我們根據主鍵欄位來進行查詢時 , 效率是最高的 , 不需要二次查找 , 直接主鍵欄位查詢索引樹 , 葉子節點就是存盤的資料了
當我們根據主鍵查詢時 , 如果就只有唯一一條 , 那么執行計劃是下面這樣的 , 差不多是最高效的 . type是const row只需要掃描一行
+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+-------+---------------+---------+---------+-------+------+-------+ | 1 | SIMPLE | tblz | const | PRIMARY | PRIMARY | 4 | const | 1 | | +----+-------------+-------+-------+---------------+---------+---------+-------+------+-------+
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/62724.html
標籤:MySQL
上一篇:mysql常用函式
