首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cassandra timeuuid比较

Cassandra timeuuid比较
EN

Stack Overflow用户
提问于 2016-11-21 08:16:35
回答 1查看 1.2K关注 0票数 0

我有张桌子,

代码语言:javascript
复制
CREATE TABLE log (
    uuid uuid,
    time timeuuid,
    user text,
    ....
    PRIMARY KEY (uuid, time, user)
)  

使用‘org.apache.curandra.index.sasi.SASIIndex’在日志(Time)上创建自定义索引time_idx;

那么我要按时间选择基准。

从日志中选择*时间>84bfd880--B001-11e6-918c-24eda6ab1677;

没有返回,它将返回如果我使用相等(=)。我走错哪一步了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-21 08:23:47

您需要将time_idx索引作为稀疏索引。

稀疏索引的目的是提高查询大而密集的数字范围的性能,例如每毫秒插入的数据的时间戳。如果数据是数字的,则数以百万计的列值具有少量的分区键来描述数据,并且范围查询将针对索引执行,那么稀疏是最好的选择。对于不符合此条件的数字数据,前缀是最佳选择。

删除time_idx并使用以下查询创建

代码语言:javascript
复制
CREATE CUSTOM INDEX time_idx on Log(time) USING 'org.apache.cassandra.index.sasi.SASIIndex' WITH OPTIONS = { 'mode': 'SPARSE' };

现在您可以使用不等式>=、>和<=进行查询。

限制:稀疏索引仅用于数值数据,因此类似于查询不适用。

还有一件事你的表创建是不对的。它应该是

代码语言:javascript
复制
CREATE TABLE log (
    uuid uuid,
    time timeuuid,
    user text,
    PRIMARY KEY (uuid, time, user)
) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40715529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档