为什么一张表要有一个主键ID?
为什么一张表要有一个主键ID?
提示
题眼: 聚集和非聚集索引的另一种问法。普通索引的叶子节点上放的是主键ID。
重要
参考答案:
主键ID使用的是聚集索引,聚集索引的数据和索引放在一起,在查询的时候根据索引查询即可;而二级索引使用的是非聚集索引:非聚集索引的索引和主键ID放在一起,在使用二级索引查询时,如果索引中没有我们需要的字段时,它就会根据主键ID到原表中查询,这个过程就是回表。如果没有主键ID,那么MySQL就会自动给我们设置一个隐藏的主键ID:rowID,它看不见,摸不着,为了方便我们对数据库进行操作,所以我们需要自行设置一个主键ID。
