MySQL 索引
1、MySQL的引擎目前用的最多的是InnoDB和MyIsam,引擎针对的是数据表级别的而不是数据库级别的
2、MySQL的数据存储在磁盘上,不同的引擎在磁盘上的文件也不一样,InnoDB只有两个文件,一个是存储数据表结构的文件,另一个则是存储索引和数据的文件;MyIsam则有三个文件,不同的是MyIsam把索引和数据是分开文件存储的。
3、MySQL的一个索引节点大概的存储空间是16k,而一个整型的主键索引是8B,索引指向下一个索引节点的指针大约是6B,所以一个索引节点大概能存储1170个索引,所以三层高的B+树的索引能存储大约两千万的数据
4、InnoDB的数据存储在叶子节点上,满足二叉树的要求,自左向右依次递增,MySQL维护索引树的层高在2-4之间
5、使用整型自增主键的好处:整型占用空间小,能储存更多的索引数据;整型更容易比较大小;自增不会导致已储存的数据进行分裂,分裂是个低效能的操作