Java 为什么mysql connector/j的rewriteBatchedStatements默认为false?

Java 为什么mysql connector/j的rewriteBatchedStatements默认为false?,java,mysql,jdbc,mysql-connector,Java,Mysql,Jdbc,Mysql Connector,mysql jdbc驱动程序,当设置为true时,可以,但必须显式打开 我现在已经为多个项目做了这项工作,但找不到任何好的理由来解释为什么我必须手动打开它 为什么这不是默认值?连接属性rewriteBatchedStatements提供了一个不兼容JDBC的功能。并非所有语句都可以重写,并且可能会产生意外的结果。特别是在处理错误和返回更新计数方面 还请注意,rewriteBatchedStatements可以修改原始SQL字符串,而不仅仅是简单的查询串联,在许多情况下,这是不需要的 出于这些原因

mysql jdbc驱动程序,当设置为true时,可以,但必须显式打开

我现在已经为多个项目做了这项工作,但找不到任何好的理由来解释为什么我必须手动打开它


为什么这不是默认值?

连接属性rewriteBatchedStatements提供了一个不兼容JDBC的功能。并非所有语句都可以重写,并且可能会产生意外的结果。特别是在处理错误和返回更新计数方面

还请注意,rewriteBatchedStatements可以修改原始SQL字符串,而不仅仅是简单的查询串联,在许多情况下,这是不需要的


出于这些原因,以及其他许多原因,此属性默认为false。

这可能是您应该在MySQL的票证中询问的问题,但如果我不得不猜测,可能某些版本不支持它,或者它更改了一些语句的语义,或者它有隐藏的成本,或者它不符合批处理执行的一些JDBC要求。