CQL 'PRIMARY KEY ((k1), k2, k3)' 是什么意思?
What's CQL 'PRIMARY KEY ((k1), k2, k3)' mean?
在我维护的 CQL 代码中(作者不可用),我找到一个 Cassandra table 声明,部分
PRIMARY KEY ((k1), k2, k3)
在这种情况下,那些内括号有什么意义吗?还是只是多余的?
澄清一下:
- 我知道
PRIMARY KEY (k1, k2, k3)
是什么意思(在 k1 上分区,在 k2 和 k3 上集群)。
- 我知道
PRIMARY KEY ((k1, k2), k3)
是什么意思(在 (k1, k2) 上分区,在 k3 上集群)
- 但是引用的代码是否等同于#1?
是的,PRIMARY KEY ((k1), k2, k3)
和PRIMARY KEY (k1, k2, k3)
基本一样。在指定单个分区键的情况下,您可以选择 不 指定分区括号。只有在创建复合分区键时才真正需要它们(就像您的第 2 点一样)。
在我维护的 CQL 代码中(作者不可用),我找到一个 Cassandra table 声明,部分
PRIMARY KEY ((k1), k2, k3)
在这种情况下,那些内括号有什么意义吗?还是只是多余的?
澄清一下:
- 我知道
PRIMARY KEY (k1, k2, k3)
是什么意思(在 k1 上分区,在 k2 和 k3 上集群)。 - 我知道
PRIMARY KEY ((k1, k2), k3)
是什么意思(在 (k1, k2) 上分区,在 k3 上集群) - 但是引用的代码是否等同于#1?
是的,PRIMARY KEY ((k1), k2, k3)
和PRIMARY KEY (k1, k2, k3)
基本一样。在指定单个分区键的情况下,您可以选择 不 指定分区括号。只有在创建复合分区键时才真正需要它们(就像您的第 2 点一样)。