Cassandra可编程列的多个准备语句

时间:2017-11-22 21:22:14

标签: java cassandra datastax cassandra-2.0 datastax-java-driver

由于基础设施限制,我们无法将运行的Cassandra版本升级为> 2.2,所以我们必须使用2.0.7。遗憾的是,此版本不支持使用UNSET。由于我们编写的数据具有可以为空的列,据我所知,我们可以创建自己的null概念(即空字符串,空数据结构),或创建多个PreparedStatements(相同的查询,但忽略)包含null值的字段,因为我们不希望将null绑定到Prepared Statement。

Cassandra现在正在抛出一个13:13:28.679 [cluster1-worker-5] WARN com.datastax.driver.core.Cluster - Re-preparing already prepared query. Please note that preparing the same query more than once is generally an anti-pattern and will likely affect performance. Consider preparing the statement only once.

这种情况下最好的解决方法是什么?大多数指南都告诉我们只需使用UNSET :(。

1 个答案:

答案 0 :(得分:0)

创建包含每列默认值的ENUM

如果为NULL,则创建将返回默认值的getter方法。

在查询Cassandra之前,将Nullable属性的默认值作为数据验证的一部分。

如果您需要更多帮助,请添加相关架构。