
本文继续梳理南大通用GBase 8s数据库(gbase database)保证数据的唯一性三种实现手段:主键约束(PRIMARY KEY)、唯一约束(UNIQUE) 和 唯一索引(UNIQUE INDEX)的主要区别。
四、三者之间的区别
1. 唯一约束 vs 主键约束
唯一约束允许列上存在 NULL 值;主键约束的限制更为严格,既不允许重复,也不允许空值。
2. 唯一约束 vs 唯一索引
两者的目的不同:
唯一约束:用于检查数据的正确性;唯一索引:用于实现数据查询的优化。
在实现机制上:
也就是说,唯一约束实际上是通过创建唯一索引来实现的。
3. 核心差异速览

五、小结
综合上述,可以得出以下结论:
如果字段加上 NOT NULL 约束,再加上唯一约束或唯一索引,功能上将等同于主键约束;
实践建议:数据的唯一性规则属于业务逻辑的一部分,应通过主键约束和唯一约束来声明;唯一索引则更多地作为查询优化手段使用。约束保证数据正确,索引服务查询性能,按需选择即可。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979120/viewspace-3179369/ ,如需转载,请注明出处,否则将追究法律责任。