我在网上找到的一些关于数据库中索引的笔记中读到了这个声明。"一个文件最多可以有一个主索引或一个聚类索引,但不能同时具有两个索引。" 为什么文件不能同时具有主索引和聚簇索引?是因为一个文件最多可以有一个物理排序字段吗?
谢谢!
生成的(主)聚集索引是主索引,这就是为什么你不能同时拥有两者的原因。
如果将一列声明为主索引并且有效,则数据库将使用该列。
如果未将一列声明为主索引,但具有一列是唯一的、非 null 的列,并且具有可以编制索引的值(例如int
或固定长度的char
,但不是text
或blob
列),则系统将使用该列作为主索引。
如果没有符合条件的列,则系统将尝试查找一组符合条件的列,并将其用作主(聚集)索引。
如果仍然无法做到这一点,那么它将创建一个隐藏列,并在内部使用该列为表编制索引。
但是该语句本身并不是真正正确的,您可以有一个主键,无论是否聚集,并且仍然有一些聚集的二级索引。
该语句的意思是,一个表中不能有两个主索引。