前导: Mysql数据是存储到硬盘上的,这里有两张用不同存储引擎存储的表有兴趣的朋友可以先打开自己的mysql硬盘库,查看一下存储的表数据结构
通过观察上图,我们发现
一 ....在Myisam中他的索引文件的叶子结点保存的是MYD数据文件中对应的地址值.
1.1多个索引Myisam中索引的结构
多个索引并列,没有主次
二 ....(即使我们没有创建主键,innodb也会默认创一个隐式的)
它有两个文件,共有文件frm不说了,另一个idb文件实际上在它的叶子结点上是存了所有的真实数据
那么如果我们在主键之外再建立了一个索引,...由上图可以知道,innodb中主键之外的索引会以辅助索引的形式存在,它的叶子结点中保存的是主键索引关键字的指向.
2.1 为啥innodb搞主键索引,辅助索引这种东西呢?...因为innodb默认,主键索引是最长用到的索引,为了某种程度上提高在主键上的效率,就这样搞了
2.2 innodb搞主键索引,辅助索引也就算了,为啥不模仿Myisam一样结点指向真正的数据地址,而非指向关键字呢