MySQL的默认索引类型是什么?

时间:2018-03-24 02:27:30

标签: mysql

MySQL默认InnoDB存储引擎创建,聚簇或非聚簇索引创建的各种索引是什么索引,还是具有不同索引类型的不同索引?我不明白方便,我还没有找到答案。非常感谢你。

1 个答案:

答案 0 :(得分:0)

群集索引是"默认"根据您的问题的看法,我猜可能是您问题的简单答案,但没有默认的索引类型。

Clustered是最常见的索引类型,Clustered Index通常是如何索引任何关系数据库(MySQL,Sql Server等)中表中每行的键或id。

群集索引在磁盘上按照您希望数据的排序方式进行物理排序。

最常见的示例是将记录插入表中并为每个插入递增记录键1,这会为插入的每个记录创建唯一的键ID,并且此唯一键上的Clustered Index在磁盘上物理排序。为每个插入的记录订购1,2,3,4等。

此示例是主键,主键是表中记录的唯一ID,几乎总是主键是聚簇索引,购买默认主键将被聚集unless you explicitly express that you want the Primary Key to be Nonclustered

每个表只能有一个Clustered键,至少这与Sql Server的方式一样,因为表行在硬盘上按物理顺序排列到Clustered Index的顺序,所以它有意义在磁盘上以多种方式对表中的索引数据进行物理排序将非常困难。

现在,非聚簇索引是将索引映射到表行以进行快速查找的任何Array或Hashtable,可以使用的Array或Hashtable或其他数据结构将存储在磁盘上,但表中的记录不会根据你的非聚集索引进行实际排序。

您可以为给定数据库表创建一个聚簇索引以及多个非聚簇索引。