MySQL InnoDB 非唯一索引遇到重復鍵時如何處理?

MySQL InnoDB 非唯一索引遇到重復鍵時如何處理?

mysql innodb 非唯一索引處理重復鍵機制

mysql innodb 引擎使用非唯一索引時,如果遇到重復鍵,數據庫會如何處理?

解答

非唯一索引是一種輔助索引,它會存儲對應行的主鍵 id。當非唯一索引相同,mysql 根據記錄主鍵進行排序。

例如,有一個非唯一索引字段名為 name,其中有兩條記錄:

  • 記錄 1:id=4, name=’ccc’
  • 記錄 2:id=5, name=’ccc’

在 b+ 樹中,它們會按照以下方式排序:

ccc (record 1) ccc (record 2)

也就是說,具有相同非唯一索引值的記錄始終存儲在相鄰的位置,排序依次是主鍵 id 的順序。

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享