从两个不同的键空间创建的 PreparedStatements 之间的区别
Difference between PreparedStatements created from two different keyspaces
我有多个 PreparedStatements,我在 bean 初始化期间创建了一次,当前设置了单个键空间,但我现在正在尝试使用多个键空间,而 table 架构保持不变,如下所示:
//session1 is from connecting to keyspace1
//while session2 to keyspace2
PreparedStatements ps = session1.prepare(sameStmt);
PreparesStatement ps1 = session2.prepare(sameStmt);
我想弄清楚的是,考虑到两者的查询字符串相同,两者之间是否除了是两个不同的对象和来自两个不同的键空间之外还有区别?我想要实现的是,如果可能的话,无论键空间如何,都只能创建一次 PreparedStatement。有什么建议吗?
这不是 Cassandra 设计允许的。即使 table 模式在两个键空间中的 table 之间是相同的,也没有办法确定这一点。为了安全起见,Cassandra 生成不同的准备语句 id,因此它们被视为不同的准备语句。
我有多个 PreparedStatements,我在 bean 初始化期间创建了一次,当前设置了单个键空间,但我现在正在尝试使用多个键空间,而 table 架构保持不变,如下所示:
//session1 is from connecting to keyspace1
//while session2 to keyspace2
PreparedStatements ps = session1.prepare(sameStmt);
PreparesStatement ps1 = session2.prepare(sameStmt);
我想弄清楚的是,考虑到两者的查询字符串相同,两者之间是否除了是两个不同的对象和来自两个不同的键空间之外还有区别?我想要实现的是,如果可能的话,无论键空间如何,都只能创建一次 PreparedStatement。有什么建议吗?
这不是 Cassandra 设计允许的。即使 table 模式在两个键空间中的 table 之间是相同的,也没有办法确定这一点。为了安全起见,Cassandra 生成不同的准备语句 id,因此它们被视为不同的准备语句。