В настоящее время я использую драйвер 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
?
Должен ли я просто создать все мои PreparedStatement
в методе конструктора /init и просто использовать их?
Но это хорошо, когда несколько потоков используют один и тот же PreparedStatement
в одно и то же время (особенно вызов PreparedStatement.bind()
для привязки объектов)