在使用 Datastax Cassandra 驱动程序时重用 PreparedStatement?
2022-09-03 18:37:41
我目前正在使用 Datastax Cassandra 驱动程序 Cassandra 2 来执行 cql3。这工作正常。我开始使用:PreparedStatement's
Session session = sessionProvider.getSession();
try {
PreparedStatement ps = session.prepare(cql);
ResultSet rs = session.execute(ps.bind(objects));
if (irsr != null) {
irsr.read(rs);
}
}
有时我会在日志中收到来自驱动程序的警告:
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.
这个警告是有道理的,但我不确定我应该如何重用?PreparedStatement
我应该在构造函数/init方法中创建所有我的所有内容,而不是简单地使用它们吗?PreparedStatement
但是,当多个线程同时使用相同的线程(特别是调用绑定对象)时,这是否顺利?PreparedStatement
PreparedStatement.bind()