首页 文章

Cassandra准备了空列的陈述?

提问于
浏览
0

引用本文:

http://www.datastax.com/dev/blog/4-simple-rules-when-using-the-datastax-drivers-for-cassandra

“Cassandra的存储引擎经过优化,可以避免存储不必要的空列,但是在使用预处理语句时,那些未提供的参数会导致空值传递给Cassandra(因此存储了墓碑) . 目前这种情况的唯一解决方法是为最常见的插入组合预定义的一组预备语句,并为更罕见的情况使用正常语句 . “

我注意到有一个任务是探索这个问题的可能解决方案:

https://issues.apache.org/jira/browse/CASSANDRA-7304

但我似乎无法找到这是否已经实际解决,在哪个版本(例如Java Cassandra驱动程序)和如何解决?

如果没有解决,有不同的插入语句仍然是最好的解决方案吗?

1 回答

  • 1

    未设置的变量是相对较新的,实际上可以用来在执行预准备语句时避免使用逻辑删除,但它们只能从协议V4开始,即从Cassandra 2.2开始 .

    3.0.0版提供了对Java驱动程序中未设置变量的支持 . 使用协议V4时,默认情况下将忽略所有变量,除非您明确将它们设置为其他变量 . 如果需要"un-set"先前设置的变量,可以调用 BoundStatementunset()方法之一 .

相关问题