结论:应该是的。
推论:mysql在指定主键的情况下,会根据指定的字段建立聚簇索引,该索引存储主键和对应数据。
如果未指定主键的话,会生成一个不可见的主键,通过该主键建立对应的聚簇索引,存储主键和整条数据。
有且仅有聚簇索引的叶子节点会存放数据,其他索引均存放主键值。
因此,是不存在所谓的二维表的,或者说不叫做二维表。
我理解也是 完整的表数据仅存放在叶子节点中,这也为什么innoDB一定要有主键的原因。
感谢!!
mysql 默认是索引组织表
数据都是存在聚簇索引里边
感谢!!
InnoDB引擎在表中存储数据时,数据并不仅仅被存放在主键索引的叶子节点中。InnoDB引擎的数据存储结构是B+树索引结构,与MyISAM等引擎不同,InnoDB在表中除了主键索引之外,还有一个数据页(Data Page)存储表的数据记录。
具体来说,InnoDB的数据页(Data Page)存储了一条条的表数据记录,每个数据页通常存储多行记录,数据页的大小是可以配置的,通常为16KB或者8KB。InnoDB会根据表中的索引来组织数据页,并在数据页中存储记录的数据。
InnoDB的主键索引(Primary Key Index)是一种特殊的B+树索引,它的叶子节点不仅包含主键值,还包含整行数据。因此,如果通过主键查找数据,InnoDB引擎可以直接从主键索引中读取整行数据,不需要再次读取数据页。如果通过非主键索引查找数据,则需要先从非主键索引中读取主键值,再通过主键索引读取整行数据。
总的来说,InnoDB引擎中表数据并不仅被存放在主键索引的叶子节点中,还会有一个数据页存储着一条条的表数据记录。在查询数据时,InnoDB引擎会通过索引查找数据页,并从数据页中读取相应的数据记录。