创建具有单个值的列(静态列)
静态列值在分区中的所有行之间共享。在使用 cassandra.apache.org//glossary.html#clustering-column[聚类列] 的表中,非聚类列可以在表定义中声明为静态。 cassandra.apache.org//glossary.html#static-column[静态列] 仅在给定分区内是静态的。
在以下示例中,flag
列是静态的
CREATE TABLE IF NOT EXISTS cycling.country_flag (
country text,
cyclist_name text,
flag int STATIC,
PRIMARY KEY (country, cyclist_name)
);
INSERT INTO cycling.country_flag (
country, cyclist_name, flag
) VALUES (
'Belgium', 'Jacques', 1
);
INSERT INTO cycling.country_flag (
country, cyclist_name
) VALUES (
'Belgium', 'Andre'
);
INSERT INTO cycling.country_flag (
country, cyclist_name, flag
) VALUES (
'France', 'Andre', 2
);
INSERT INTO cycling.country_flag (
country, cyclist_name, flag
) VALUES (
'France', 'George', 3
);
SELECT *
FROM cycling.country_flag;
country | cyclist_name | flag
---------+--------------+------
Belgium | Andre | 1
Belgium | Jacques | 1
France | Andre | 3
France | George | 3
(4 rows)
以下限制适用
|
您可以对静态列执行 批量条件更新。
使用 DISTINCT
关键字选择静态列。在这种情况下,数据库仅检索分区的开头(静态列)。