3 回答
TA贡献2011条经验 获得超2个赞
create table stackoverflow_simple ( key text PRIMARY KEY, data text );
create table stackoverflow_composite ( key_part_one text, key_part_two int, data text, PRIMARY KEY(key_part_one, key_part_two) );
请注意,分区和群集键都可以由更多的列生成。
create table stackoverflow_multiple ( k_part_one text, k_part_two int, k_clust_one text, k_clust_two int, k_clust_three uuid, data text, PRIMARY KEY((k_part_one, k_part_two), k_clust_one, k_clust_two, k_clust_three) );
这个 分区键
负责跨节点的数据分发。 这个 聚类键
负责分区内的数据排序。 这个 主键
等于 分区键
在单字段键表中(即 简约).
这个 复合键/复合键
是任何多列键。
insert into stackoverflow_simple (key, data) VALUES ('han', 'solo'); select * from stackoverflow_simple where key='han';
表内容
key | data ----+------ han | solo
复合键/复合键
insert into stackoverflow_composite (key_part_one, key_part_two, data) VALUES ('ronaldo', 9, 'football player'); insert into stackoverflow_composite (key_part_one, key_part_two, data) VALUES ('ronaldo', 10, 'ex-football player'); select * from stackoverflow_composite where key_part_one = 'ronaldo';
表内容
key_part_one | key_part_two | data --------------+--------------+-------------------- ronaldo | 9 | football player ronaldo | 10 | ex-football player
select * from stackoverflow_composite where key_part_one = 'ronaldo' and key_part_two = 10;
查询输出
key_part_one | key_part_two | data --------------+--------------+-------------------- ronaldo | 10 | ex-football player
where clause
PRIMARY KEY((col1, col2), col10, col4))
可乐1和可乐2 可乐1、可乐2和可乐10 Col1,Col2,Col10和Col4
可乐1、可乐2和COL 4 不同时包含col1和col2的任何内容。
TA贡献1862条经验 获得超6个赞
主键唯一标识行。 复合键是由多列组成的键。 分区键是查找一组行(即分区)的主要查找。 聚类键是主键的一部分,它不是分区键(并定义分区内的顺序)。
PRIMARY KEY (a)
*分区键是 a
.PRIMARY KEY (a, b)
*分区键是 a
,聚类键是 b
.PRIMARY KEY ((a, b))
*复合分区键是 (a, b)
.PRIMARY KEY (a, b, c)
*分区键是 a
,复合聚类键是 (b, c)
.PRIMARY KEY ((a, b), c)
*复合分区键是 (a, b)
,聚类键是 c
.PRIMARY KEY ((a, b), c, d)
*复合分区键是 (a, b)
,复合聚类键是 (c, d)
.
- 3 回答
- 0 关注
- 280 浏览
添加回答
举报