数据库中关于主键和聚簇索引的概念

主键

唯一非空,一个表只能存在一个,它用来唯一标识表中每一行的值的一列或一组列。这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性。在创建或修改表时,您可以通过定义 PRIMARY KEY 约束来创建主键。

聚簇索引

聚集索引基于数据行的键值在表内排序和存储这些数据行。每个表只能有一个聚集索引,因为数据行本身只能按一个顺序存储。
聚簇索引的列不一定是非空唯一的列,mysql,sqlserver一般把主键作为聚簇索引列,而oracle 和达梦数据库可以不把主键列当作聚簇索引列,它们会在创建表时未指定聚簇索引列的情况下创建一个rowid列当作聚簇索引列。
若建表指定聚簇索引列,但指定的聚簇索引列的值不唯一,数据库引擎 将向表自动添加一个四字节 uniqueifier 列。
必要时,数据库引擎 将向行自动添加一个 uniqueifier 值,使每个键唯一。此列和列值供内部使用,用户不能查看或访问。
虽然聚簇索引不要求唯一但一般建议在唯一的字段上用该索引才合理 才能增快查询效率。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值