【问题标题】:A substitute OR query for CassandraCassandra 的替代 OR 查询
【发布时间】:2019-05-28 04:30:56
【问题描述】:

我的 Cassandra DB 中有一个表,其中包含 userid、city1、city2 和 city3 列。如果我想检索所有将“巴黎”作为城市的用户,我的查询会是什么?我知道 Cassandra 没有 OR,所以我不确定如何构造查询。

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    首先 - 它在很大程度上取决于表的结构 - 如果你有 userid 作为分区键,你当然可以使用二级索引来搜索城市中的用户,但它不是最佳的,因为它是扇出调用 - 请求发送到集群中的所有节点。您可以重新设计以使用城市作为分区键的物化视图,但如果您在某些城市有很多用户,您可能会遇到问题。

    一般来说,如果您需要在同一列中选择多个值 - 您可以使用IN 运算符,但最好不要将其用于分区键(并行查询更好)。如果您需要 OR 在不同的列上 - 您需要进行并行查询,并在应用程序端收集结果。

    【讨论】:

      猜你喜欢
      • 2018-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-30
      • 2023-03-28
      • 1970-01-01
      • 2022-08-14
      • 1970-01-01
      相关资源
      最近更新 更多