通过观察上图,我们发现
myisam有三个文件 其中他们共有的是都有frm文件,这是表定义文件 对于Myisam索引是保存到MYI文件中的,数据是保存在MYD文件中的为啥呢? 在Myisam中他的索引文件的叶子结点保存的是MYD数据文件中对应的地址值.
多个索引并列,没有主次
innodb是以主键为索引来组织数据的存储的.(即使我们没有创建主键,innodb也会默认创一个隐式的)
它有两个文件,共有文件frm不说了,另一个idb文件实际上在它的叶子结点上是存了所有的真实数据
那么如果我们在主键之外再建立了一个索引,innodb是怎么组织数据存储的呢?
由上图可以知道,innodb中主键之外的索引会以辅助索引的形式存在,它的叶子结点中保存的是主键索引关键字的指向.
因为innodb默认,主键索引是最长用到的索引,为了某种程度上提高在主键上的效率,就这样搞了
innodb涉及时候主要考虑到如果数据区发生了迁移,主要我们主键没有发生变化,我们就不需要更改辅助索引了