首页 > 解决方案 > MySQL中主键后使用聚集关键字的目的是什么

问题描述

这让我发疯,有人能告诉我在 MySQL 中的主键之后使用聚集关键字的目的是什么吗?我必须在什么情况下使用它?它是否取决于主键数据类型?

例子:

create table Orders
(
    OrderID int not null auto_increment,
    CustID smallint not null, -- FK Customers table
    EmpID smallint not null, -- FK Employees table
    constraint pk_Orders primary key clustered (OrderID asc)
);

提前Tnx。

标签: mysqlprimary-key

解决方案


SQL 将在主键列的默认值上创建一个索引。

索引的使用与您在书中使用索引类似 - 您想在书中查找某些内容,您查看索引以查看它在书中出现的位置。

显然,你可以发现没有索引,但它会非常慢。

因此,索引是一种可以加快查询速度的东西。 聚集索引(SQL Server、MySQL/InnoDB)是存储在索引 B-Tree 结构中的表。该表没有第二个数据结构(堆表)。

非聚集索引对数据的存储方式没有影响,它只是提供基于索引列在哪里找到特定行的信息。

更多信息可以在这里找到:聚集索引/非聚集索引


推荐阅读