我们的架构有一个USER表......
USER(
userId,
firstname,
lastname,
email)
我们希望确保所有用户都拥有唯一的电子邮件地址。是否可以在VoltDB中创建唯一索引来强制执行此约束?
答案 0 :(得分:3)
VoltDB支持主键索引(始终是唯一的)以及可以定义为唯一的辅助索引。
对于您的特定表格,您有两种选择来强制执行电子邮件列的唯一性:
如果您在电子邮件上创建唯一索引并在userId上对表进行分区,那么电子邮件列的唯一性强制将位于各个分区中。
答案 1 :(得分:1)
VoltDB为主键提供隐式索引。例如,如果您将userID指定为主键,则userID将是唯一的(因为VoltDB在主键上隐式指定索引)但是要使电子邮件列成为唯一,您必须明确指定约束' UNIQUE&#39 ;在电子邮件列。 同样地假设您正在对表进行分区并在列userID上完成分区,然后强制电子邮件在每个分区中都是唯一的,您应该明确指定' ASSUMEUNIQUE'电子邮件列的约束。