2020年3月11日
聚簇索引和非聚簇索引
聚簇索引可以直接获取数据,非聚簇索引需要先找到主键,在根据主键找到数据。
可以简单理解为主键产生的索引,是聚簇索引,其他是非聚簇
如果用主键查询,直接查到数据,如果用非主键查询,先查到主键,在获取数据。
select name from table where id = 1;
select birthday from table where name = ‘xx’;
通过建立覆盖索引(birthday,name),择可以根据name直接查询出birthday,不必在找到主键。
一个表只能有一个聚簇索引,在innoDB中,默认主键为聚簇索引,没有设置主键会生成隐式6个字节的id的聚簇索引。
非聚簇索引中,包含主键列的内容,索引主键列的大小也一定程度影响索引的大小,可以尽量设置小一些。