我们都知道innodb在进行数据插入的时候,必须要将数据跟某一个索引绑定在一起,这个索引可以是主键,如果没有主键,会选择唯一键,如果没有唯一键,会选择一个6字节的rowid来进行存储,无论如何,数据一定跟某一个索引列放在一起。
那么一个表中可以有多少个索引?每个索引是否是一棵独立的B+树?
答案是可以不止一个索引,且每个索引都是一棵B+树,都存储在.ibd的文件中。
当我有多个索引的时候,数据也要存储多份吗?
当然不需要,数据只会存储一份。
相信大家都知道聚簇索引的数据跟索引是存储在一起的,非聚簇索引数据跟索引没有放在一起;
那么请问innodb是聚簇索引还是非聚簇索引?