php中文网

MySQL InnoDB 非唯一索引遇到重复键时如何处理?

php中文网

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 的顺序。

以上就是MySQL InnoDB 非唯一索引遇到重复键时如何处理?的详细内容,更多请关注php中文网其它相关文章!