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 關注
- 430 瀏覽
添加回答
舉報
