聚簇索引与非聚集索引的特点是什么?
在InnoDB中聚簇索引和非聚簇索引实际上是物理空间存储方式的一个不同。
聚簇索引
- 聚簇索引将数据存储在索引树的叶子节点上。
- 聚簇索引可以减少一次查询,因为查询索引树的同时就能获取到数据。
- 聚簇索引的缺点是,对数据进行修改或删除操作时需要更新索引树,会增加系统的开销。
- 聚簇索引通常用于数据库系统中,主要用于提高查询效率。
非聚簇索引(又称二级索引 / 辅助索引)
- 非聚簇索引不将数据存储在索引树的叶子节点上,而是存储在数据页中。
- 非聚簇索引在查询数据时需要两次查询,一次查询索引树,获取数据页的地址,再通过数据页的地址查询数据(通常情况下来说是的,但如果索引覆盖的话实际上是不用回表的)。
- 非聚簇索引的优点是,对数据进行修改或删除操作时不需要更新索引树,减少了系统的开销。
- 非聚簇索引通常用于数据库系统中,主要用于提高数据更新和删除操作的效率。