1、MyISAM存储引擎:8字节, 行数容量更大。
2、InnoDB存储引擎 :6字节, 高4字节表示页码(Page Number),低2字节表示槽位(Slot)或行序号。
具体可以参考MySQL官方文档。
https://dev.mysql.com/doc/refman/5.7/en/innodb-multi-versioning.html
至于Base64编码,主要是用于数据存储和传输, 将二进制数据转换成由64个字符组成的ASCII字符串。将二进制数据转换成文本格式,以便于传输和处理。比如加密,binlog等。
收起MySQL中的row_id是指每一行数据在表中的唯一标识符,它的长度取决于存储引擎的不同。
对于使用InnoDB存储引擎的表,row_id通常是6字节的长度,因为InnoDB使用了一个称为聚簇索引的技术来组织数据。在聚簇索引中,行数据存储在索引中,因此row_id只需要足够长来唯一标识表中的每一行数据即可。
而对于使用MyISAM存储引擎的表,row_id通常是8字节的长度,因为MyISAM使用了一个称为非聚簇索引的技术来组织数据。在非聚簇索引中,行数据和索引分别存储,因此row_id需要更长的长度来唯一标识表中的每一行数据。
需要注意的是,MySQL 5.7.9版本之后,InnoDB存储引擎的row_id长度可以通过配置文件进行调整,最大可以达到8字节。