我有多个PreparedStatements,我在bean初始化期间只使用单个键空间的当前设置创建一次,但我现在尝试使用多个键空间,而表模式保持相同如下:
//session1 is from connecting to keyspace1
//while session2 to keyspace2
PreparedStatements ps = session1.prepare(sameStmt);
PreparesStatement ps1 = session2.prepare(sameStmt);
我想弄清楚的是,如果除了两个不同的对象和两个不同的键空间之间存在差异,考虑到两个查询字符串相同?我想要实现的是,只要有可能,无论密钥空间如何,都只能创建一次PreparedStatement。有什么建议?
这不是Cassandra设计允许的。即使两个键空间中的表之间的表模式相同,也无法确定这一点。为了安全起见,Cassandra会生成不同的预处理语句ID,因此它们被视为不同的预处理语句。