MySQL中的索引主要是为了提高查询效率,它们分为单列索引和多列索引,并没有所谓的“全局索引”和“局部索引”这样的分类。
1. 单列索引:这是最基本的索引类型,它只针对单个列进行索引。
2. 多列索引:也称为复合索引,它针对多个列进行索引,通常在查询中涉及多个列时效率更高。
索引在数据库中的存储方式是局部的,即每个表都有一个或多个索引,这些索引是独立于表数据存储的。以下是索引的一些常见类型:
聚集索引(Clustered Index):在InnoDB存储引擎中,聚集索引是按照数据的物理存储顺序建立的,这意味着数据行是按照索引顺序存储的。一个表只能有一个聚集索引。
非聚集索引(Non-Clustered Index):这种索引包含非聚集索引的数据行的引用,而不是数据本身。一个表可以有多个非聚集索引。
在MySQL中,创建索引时并不需要指定它是“全局”还是“局部”的,因为索引默认就是局部的。全局索引这个概念在MySQL中并不常见,它通常与特定的数据库管理系统(如Oracle)相关。
如果你在查阅某些资料时遇到了“全局索引”这个术语,可能是指:
全局二级索引(Global Secondary Index):在某些数据库系统中,全局二级索引是一种特殊的索引,它可以在多个表之间共享,从而实现跨表查询的优化。
分区索引(Partitioned Index):在某些数据库系统中,分区索引可以跨越多个分区,但它仍然是一个局部索引,因为它只针对一个分区内的数据。
在MySQL中,索引主要是局部的,不存在全局索引和局部索引的区分。