Mysql是支持预编译的,只是默认没开启

阅读更多
近日看到一帖子,曰Mysql不支持预编译,并做了大量的测试来证明是没有预编译。

其实Mysql不是不支持,只是默认的状态下,预编译的功能并没有开启。这里的默认状态是指的jdbc url 的默认连接参数。

采用show status like '%prepare%'; 可以看到mysql缓存了预编译的sql的数目;

jdbc:mysql://xxx.22.11.31:3306/dbname? useServerPrepStmts=true

如果默认useServerPrepStmts=true不加上的话,所有的preparedStatement都给白费了。show status like '%prepare%';看到的count始终是0。

你可能感兴趣的:(MySQL,JDBC,SQL)