当前位置: 首页 > 知识库问答 >
问题:

如何更快地运行where子句中带有非主键列的cassandra查询?

巫马自明
2023-03-14

但是,当我尝试在where子句中使用非主键列进行查询时,1000次查询几乎花了2个小时。

我知道,没有主键是一个很大的缺点,但我们可能会有这样的情况。

>

  • 我试图查看是否可以使用辅助索引,但它们似乎仅限于一列。

  • 共有1个答案

    吴英武
    2023-03-14

    如果我们期望更多的查询情况在where子句中没有主键列,cassandra真的是一个好的解决方案吗?

    这是一个先验Cassandra不是最佳解决方案的用例。但是如果您有250多万条记录,其他数据库也会遇到性能问题。

    一个解决方案是在其他表中构建自己的索引。如果您没有太多不同类型的where子句,它应该可以解决这个问题。即使您必须执行多个update或select命令来更新或选择单个行,这些命令中的每一个都应该与您所执行的bench一样快。

     类似资料:
    • 问题内容: 我有一个查询: 我只想从表中选择周期和年份等于的行: 我知道最简单的方法是使用连接,但是问题是-在应用程序中,我只能在后面添加一个子句 因此,解决方案应该是: 那可能吗? 编辑: 结果应与以下相同: 问题答案: 您可以为条件使用多个列: 但是戈登的解决方案可能更快。

    • 问题内容: 我要实现以下目标: 表的当前状态(my_table) (my_table2)的查询结果 表的预期状态(my_table) 可以在一个更新查询中完成吗?我正在RHEL 5.0上寻找Sybase ASE 12.5 编辑: 我找不到Sybase的解决方案,但该问题的当前答案适用于MS SQL Server。 问题答案: 更新 在MS SQL Server中,您将执行此操作。OP指出这在Syb

    • 问题内容: 我有这样的查询- 由于将rowz = 1放入查询中,因此该查询无法正常工作?如果我只想要在嵌套后rowz = 1的结果该怎么办。 当我这样做时- 从news_article中选择unnest(string_to_array(na.news_category_id,’,’)):: int rowz; 我的桌子是- 然后它给了我这个结果- 问题答案: 这回答了您的问题: 诀窍是将数组放入一

    • 我试图运行以下查询从SpringBoot仓库 但总是命中错误:绑定变量的数量无效。 请就如何进一步进行提出建议。 注:我确实遵循了Spring Crude的预测结果,即VentoryIds(列表 我想执行如下操作:

    • 问题内容: 我正在使用JPA 2.0。Hibernate 4.1.0.Final和Java6。如何从以下psuedo-SQL编写JPA查询? 我的域对象如下所示: 我知道涉及CriteriaBuilder.greatest,但是我只是不知道如何编写查询。这将返回所有与组织匹配的事件对象,但据我所知。 问题答案: 有两种方法,一种使用JPQL,另一种使用条件查询。 JPQL就是: 使用条件时,您可能