从两个不同的键空间创建的PreparedStatements之间的区别

问题描述 投票:1回答:1

我有多个PreparedStatements,我在bean初始化期间只使用单个键空间的当前设置创建一次,但我现在尝试使用多个键空间,而表模式保持相同如下:

//session1 is from connecting to keyspace1
//while session2 to keyspace2

PreparedStatements ps =  session1.prepare(sameStmt);
PreparesStatement ps1 = session2.prepare(sameStmt);

我想弄清楚的是,如果除了两个不同的对象和两个不同的键空间之间存在差异,考虑到两个查询字符串相同?我想要实现的是,只要有可能,无论密钥空间如何,都只能创建一次PreparedStatement。有什么建议?

cassandra datastax-enterprise datastax-java-driver
1个回答
3
投票

这不是Cassandra设计允许的。即使两个键空间中的表之间的表模式相同,也无法确定这一点。为了安全起见,Cassandra会生成不同的预处理语句ID,因此它们被视为不同的预处理语句。

© www.soinside.com 2019 - 2024. All rights reserved.