MySQL InnoDB引擎B+树索引简单整理说明(2)

4,计算列索引,在计算列上手动创建索引(非聚集索引)
  如下截图,创建了test_index_type7表,
  test_index_type7上有一个计算列,创建完成之后在计算列上加索引,索引为计算列索引

    

MySQL InnoDB引擎B+树索引简单整理说明

总结:

整体上来看,MySQL的几种类型的B+树的索引还是比较容易理解的,跟SQL Server中的索引也比较类似。
MySQL的InnoDB引擎表中,主键索引,非空唯一约束生成的聚集索引,聚集索引,从物理存储上看都数据聚集索引。
主键索引,非空唯一约束生成的聚集索引,聚集索引,三者有一个明显的特点,都要求所在的列是非空且唯一的。
另外就是MySQL无法显式创建聚集索引,也即create clustered index.

这一点与SQL Server有很大的不同,
1,在SQL Server中,如果没有指定主键,或者指定了主键没有但是指定为nonclustered,那么表就是为堆表,系统不会添加默认字段作为聚集索引
2,SQL Server的主键可以仅仅是主键,可以不是聚集索引(默认情况下主键是聚集索引)。


聚集索引可以指定在任意一个列上,可以是非主键列,可以是非唯一,可为null,可重复的列,比如如下

MySQL InnoDB引擎B+树索引简单整理说明

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f74a3fe67870ace14451837e2964cdbb.html