1、索引结构
B+树结构,聚集索引叶子节点存储数据,非聚集索引叶子节点存储主键。索引非节点都存储索引列的值,索引节点都会存前后指针
2、索引类型
全文索引、聚簇索引、非聚簇索引和hash索引,复合索引就是为了节省索引空间,把查询条件的字段组合成一个索引
3、覆盖索引、索引下推
覆盖索引的意思是查询的字段,都在索引中,不需要进行回表查询数据
索引下推的意思是索引的区分度不够,需要用查询条件的下一个字段索引进行查询,比如性别字段之类的
4、数据页和索引页
mysql存储数据页和索引页,都是一样的,16k大小,包含以下几个结构File Header、Page Header、Infimum、Supremum、User Records、Free Space、Page Directory、File Trailer,其中一个区分就是record_type,0为普通记录,1为目录项记录(也就是索引)2为表Infimum记录,3为Supremum记录