在mysql中,数据的存储其实相当于Oracle的IOT表。主键和其他列的值以b+tree的形式组织在一起,在其叶子节点上不仅包含了主键,还包含了其他列的值。所以,我们在访问以主键作为where条件的查询时,极大的提高了效率。当然,这也存在一个缺点,主键和其他列存在一起,导致主键作为index比其他二级index需要的空间开销更大,所以当我们做recover index scan时,就会需要scan更多的block。除此之外,我们还需要数据按照主键升序排列,所以我们的主键就可能要设置为自增的,以免随机的数字作为主键,导致数据块频繁分裂,而减缓dml的速度。所以,一般情况下,我们会默认给每张表都加上一个自增的id作为主键,这个id的类型依据实际存放的数据量的范围来定。 在mysql中,数据的存储其实相当于Oracle的IOT表。主键和其他列的值以b+tre