主键ID
...大约 1 分钟
主键ID
为什么每张表都有一个主键ID
关键词:回表
主键ID使用的是聚集索引,聚集索引的数据和索引放在一起,在查询的时候根据索引查询即可;而二级索引使用的是非聚集索引:非聚集索引的索引和主键ID放在一起,在使用二级索引查询时,如果索引中没有我们需要的字段时,它就会根据主键ID到原表中查询,这个过程就是回表。如果没有主键ID,那么MySQL就会自动给我们设置一个隐藏的主键ID:rowID,它看不见,摸不着,为了方便我们对数据库进行操作,所以我们需要自行设置一个主键ID
如何设置一个主键ID
bigint类型、主键、自增、非空
为什么会有回表?如何减少回表?
回表是因为在使用二级索引查询数据时,没有找到想要的数据,返回原表中查询。
一般采用覆盖索引来减少回表现象
覆盖索引:创建一个包含查询所需要所有字段的索引,简单来说就是把常用的数据和索引放在一起