对于Innodb存储引擎的表,尽量手工指定主键。(不是必须手工指定主键)
记录默认会按照一定的顺序保存,如果有明确定义的主键,则按照主键顺序保存。
如果没有主键,但是有唯一索引,那么就是按照唯一索引的顺序保存。
如果既没有主键又没有唯一索引,那么表中会自动生成一个内部列,按照这个列的顺序保存。
按照主键或者内部列进行的访问是最快的,所以Innodb表尽量自己指定主键。
当表中同时有几个列都是唯一的,都可以作为主键的时候,要选择最常作为访问条件的列作为主键,提高查询的效率。
Innodb表的普通索引都会保存主键的键值。