存储方式
1)InnoDB:表结构存储为一个文件table.frm,索引和表数据存在一个数据文件中;索引类型为聚簇索引,以B树索引为例,在主键索引的叶子节点上会存储具体的数据,其它的索引则会存储相对应的主键;
2)MyISAM:表结构存储为一个文件table.frm,索引存储为一个文件table.MYI,数据存储为一个文件table.MYD,索引类型为非聚簇索引,以B树为例,所有类型的索引存储都是数据文件在硬盘上的指针;
InnoDB的主键索引
1)主键索引 既存储索引值,又在叶子中存储行的数据;
2)如果没有主键, 则会Unique key做主键 ;
3)如果没有unique,则系统生成一个内部的rowid做主键;
聚簇索引的优劣
1)优势:通过主键查找时不用回行(通过指针去硬盘上查找数据),可以直接找到数据,因此速度非常快;
2)劣势:如果碰到不规则数据插入时(如插入顺序为1,45,108,2之类的),造成频繁的页分裂,速度会比较慢;