Cassandra 如何在 table 中添加集群键?

Cassandra how to add clustering key in table?

cassandra中有一个table

create table test_moments(id Text, title Text, sort int, PRIMARY KEY(id));

如何在 "sort" 列中添加聚簇键。不重新创建 table

你需要做的就是将它添加为 PRIMARY KEY 的第二部分,使其成为复合键

create table test_moments(id Text, title Text, sort int, PRIMARY KEY(id, sort));

主要问题是磁盘数据结构。集群键直接决定了数据如何排序和序列化到磁盘(然后搜索),所以你问的是不可能的。

唯一的办法就是"migrate"把数据传给另一个table。根据您的数据,如果您有大量记录,您可能会在查询期间遇到一些超时错误,因此请准备好使用一些有用的技术(例如 COPY 命令或 TOKEN 函数)调整您的迁移。

也看看 this SO 问题。