首先,主键索引其实就是数据本身,它的叶子页包含主键及其对应的所有行数据。

不仅联合索引,所有非主键索引(二级索引)的叶子页,都会包含主键,哪怕你的表没建主键,mysql也会在表上建一个隐式主键,你的二级索引同样会包含它。
当使用二级索引进行查询时,会先获得二级索引叶子页上的数据和对应的主键,然后通过主键再查找主键索引,获得其它列的数据,也就是说,通过二级索引查找时,会进行两次索引查找。
所以,选择主键时,尽可能的使用较小的主键,过大的主键会导致二级索引也都比较大。
聚集索引跟书的目录差不多,聚集索引的顺序和实际数据的物理排列顺序是一致的,当创建聚集索引的时候,数据会根据索引键的顺序进行重新排列,而且聚集索引只能有一个 我也不知道你说的聚合索引列是不是聚集索引,不过我记得SQL的索引从存储的角度分为非聚集索引跟聚集索引,从维护和管理的角度分我唯一索引、复合索引和系统自建索引。 小弟学过,后来用的少有点遗忘了,如果说错了请不要介意
1、主键索引:主键索引是一种特殊的唯一索引,不允许有空值
2、普通索引或者单列索引
3、多列索引(复合索引):复合索引指多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用复合索引时遵循最左前缀集合
4、唯一索引或者非唯一索引
5、空间索引:空间索引是对空间数据类型的字段建立的索引。MYSQL使用SPATIAL关键字进行扩展,使得能够用于创建正规索引类型的语法创建空间索引。
mysql索引不是必须唯一的。MySQL数据库建立索引之后,访问效率会显著提升,但是索引不要求是唯一索引。一个表可以针对多个字段建立索引,只要你经常对某个字段进行运算你就应该给他建立索引,你还可以给多个字段联合起来,建立一个唯一索引。