聚集索引是索引叶子节点上存的是数据,非聚集索引的叶子节点存的是数据的指针。
聚集索引是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储不连续。
聚集索引每张表只能有一个,非聚集索引可以有多个。
mysql的innodb引擎必须要有主键,因为数据存放在聚集索引上,即使不设置主键,mysql也会设置一个默认主键,需要去存放数据。其他索引也就是非聚集索引或者叫二级索引(辅助索引)存放的是主键的数据,从而根据主键的查找到数据。
myisam引擎可以不需要主键,因为引擎会单独存储数据,索引上存放的是指向数据的指针。