【问题标题】:cassandra - SELECT result as WHERE conditioncassandra - 选择结果作为 WHERE 条件
【发布时间】:2019-06-14 12:00:39
【问题描述】:

我想使用选择查询的结果作为另一个查询条件的输入,如下所示:

DELETE FROM message_user WHERE id = 8a81de70-1991-11e9-a38f-9e0aa7c9f25f and group = e5b04c50-1982-11e9-abf3-b17ecbb80329 and receiver in (SELECT member FROM chat_group_member WHERE id = e5b04c50-1982-11e9-abf3-b17ecbb80329)

【问题讨论】:

  • Cassandra 不支持这种查询...在你的应用程序中处理它
  • @undefined_variable 你确定吗?我认为它与 Cassandra 数据模型没有任何冲突。查询的所有部分都可以单独工作。但不是一起!
  • @undefined_variable 是正确的。 Cassandra 是一个 NoSQL 数据库,不支持多表查询。这意味着没有连接,没有 IN/EXISTS 子句,没有子查询。在您的应用程序中处理它。
  • @EvaldasBuinauskas Cassandra 支持 IN 子句。
  • @sadegh 不支持 IN 的查询。应该更清楚一点。

标签: cassandra cassandra-3.0 cqlsh


【解决方案1】:

Cassandra 是分布式数据库,嵌套查询是连接类型。在 Cassandra 中,数据可能存储在多个主机上。为了使联合大数据可能需要在单个节点上下载。这可能会导致性能问题,因为所有节点都在商品硬件上(点对点)。因此我认为它不支持。

【讨论】:

    猜你喜欢
    • 2018-06-18
    • 2016-05-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 2012-04-10
    • 1970-01-01
    • 2015-08-23
    • 2021-09-14
    相关资源
    最近更新 更多