MySQL索引的数据结构:InnODB和MyISAM索引对比
MySQL索引的数据结构:InnODB和MyISAM索引对比
MyISAM中索引都是非聚簇索引,与InnoDB中包含一个聚簇索引是不同的
- InnoDB中只要根据聚簇索引进行一次查找就可以找到对应数据,而MyISAM中还需要进行一次回表才能找到对应数据。
- InnoDB的数据文件本身就是索引文件,而MyISAM的数据文件和索引文件是分开的,索引文件只保存数据文件中数据记录的地址。
- InnoDB的非聚簇索引data域存储响应记录的主键值,而MyISAM只存储记录的地址。
- MyISAM的回表是十分快速的,因为直接使用地址,而InnoDB需要到聚簇索引中进行查找响应记录。
- InnoDB中必须有主键,而MyISAM可以不创建主键。