更新时间:2025-07-02 GMT+08:00
如何使用Counter列
GeminiDB Cassandra支持使用Counter列,用于跟踪统计结果(如页面访问量、消息数等)。
Counter支持的操作
在原生Cassandra中,Counter列的值为64位有符号整数,仅支持递增和递减。除此之外,GeminiDB Cassandra提供如下功能:
- 设置Counter列的值。
- 删除Counter列的值(包括列删除、单行删除、范围删除和分区删除)。
- 使用范围删除和分区删除功能会降低Counter表的写入性能,故此功能默认为关闭状态。
- 使用范围删除和分区删除功能需修改 counter_multiline_deletion_enabled 参数值为 true 。
Counter使用限制
- Counter不能被定义为主键。
- 包含Counter列的表中的非主键列必须全部定义为Counter类型。
- Counter不支持设置TTL。
- Counter不支持INSERT操作,只能通过UPDATE操作写入。
Counter使用示例
CREATE TABLE t0(pk int, ck int, v1 counter, v2 counter, v3 counter, PRIMARY KEY(pk, ck)); # 写入Counter列,v1使用设置值操作,v2使用递增操作,v3使用递减操作 UPDATE t0 SET v1 = 1, v2 = v2 + 1, v3 = v3 - 1 WHERE pk = 1 AND ck = 1; # 删除Counter列 DELETE v1 FROM t0 where pk = 1 AND ck = 1; # 删除Counter行 DELETE FROM t0 where pk = 1 AND ck = 1;