PRIMARY KEY, 主键索引

主键的特点

  • 一个表中只能有一个主键,如果在其他字段上建立主键,则原来的主键就会取消

  • 主键的值不可重复,也不能为空(NULL)

在InnoDB中,clustered index选择原则:

  • 显示声明的主键

  • 第一个不包含null列的唯一索引

  • 内置的rowid

InnoDB中,主键特点:

  • 如果索引最后没有主键,则会在索引内部存储时加上主键(只有主键key值,而不是整个row data)

  • 如果索引最后已有主键,则会显式加上主键

  • 因此只要用户定义的索引字段中包含了主键中的字段,那么这个字段就不会再被InnoDB自动加到索引中了,如果用户的索引字段中没有完全包含主键字段,InnoDB就会把剩下的主键字段加到索引末尾