我正在创建一个表,其中包含很多(我们说的是数百万甚至数十亿)由主键存储的数据,这些数据将作为int存储一年.
我们这样做是因为我们希望能够执行简单的清除.
表看起来像这样:
TABLE data (
year int,
fulldate date,
ref1 text,
ref2 text,
data blob,
PRIMARY KEY ((year), fulldate, ref1, ref2)
);
将来,我们计划删除一年中的所有数据,并且不会在此特定年份添加任何数据.
我们能否以有效的方式删除主键值存储的所有数据?喜欢做类似滴水的事情?
我在文档中没有看到任何关于这样的事情,但我是Cassandra的新手,所以也许有内部优化或其他什么?
谢谢您的帮助.
最佳答案 是的,您只需一个查询即可删除分区键的所有数据.
只需在删除时指定分区密钥年份.
DELETE from data WHERE year = 2017;
它很有效因为它只为该分区值创建一个逻辑删除.