Env: mysql -connector- java 8.0.19
Я заметил, что есть комментарий " стоимость установки параметра по-другому"в com.mysql.cj.jdbc.ClientPreparedStatement#executeBatchInternal
исходном коде, когда я выполняю некоторые пакетные операции, используя PreparedStament
. Фрагмент исходного кода из MySQL Connector / J, как показано ниже:
if (!this.batchHasPlainStatements && this.rewriteBatchedStatements.getValue()) {
if (((PreparedQuery<?>) this.query).getParseInfo().canRewriteAsMultiValueInsertAtSqlLevel()) {
return executeBatchedInserts(batchTimeout);
}
if (!this.batchHasPlainStatements && this.query.getBatchedArgs() != null
&& this.query.getBatchedArgs().size() > 3 /* cost of option setting rt-wise */) {
return executePreparedBatchAsMultiStatement(batchTimeout);
}
}
, поэтому мои вопросы таковы:
- каково точное значение «стоимость установки опции rt- мудрая фраза?
- почему MySQL Соединитель / J выбирает 3 в качестве нижней строки для перезаписи пакетных операторов, почему не 4 или другие числа?
спасибо.