卡桑德拉插入prepareStatement或映射器?

时间:2018-06-27 08:30:53

标签: performance cassandra prepared-statement cassandra-3.0 mapper

我们正在一次在Cassandra 3.0数据库中插入几百万条记录。问题是:什么才是最佳性能:使用映射器(为我们的对象“ JPA”样式添加注释)或使用准备好的语句,该语句仅准备一次,然后为每个插入进行绑定。 我在这里读到,映射器在后台执行隐式的预准备语句,因此性能不应有所不同。但是我不知道他应该把准备好的声明放在哪里?还是对每个插入都执行此操作,这将剥夺执行预准备语句的优势。那么问题是:映射器(jpa样式)还是prepareStatement(JDBC样式:-))?

1 个答案:

答案 0 :(得分:0)

Mapper将准备好的语句保留在Mapper类的实例中,而Mapper类的实例则保留在MappingManager中,因此,如果要重新创建MappingManager时间,那么您就失去了准备好的语句,并获得了更差的性能……

如果直接使用准备好的语句,则需要将其与Session对象的实例一起保存在某个地方,该实例只应创建一次并重复使用。