3 回答
TA贡献1833条经验 获得超4个赞
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贡献1821条经验 获得超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 关注
- 440 浏览
添加回答
举报
