mysql客户端怎么开启预编译?

看了网上一些关于预编译的帖子
mysql支持预编译,但是预编译默认关闭。当通过java操作数据库时,需要通过在链接中加上useServerPrepStmts=true 与 cachePrepStmts=true才能开启。

但是这种方式看网上的帖子说是开启服务端预编译,还有一种客户端预编译。
我没太理解这是什么意思。
不加那两个参数就不会开启预编译,加了开启的是服务端预编译。那客户端预编是什么?要怎么开启?怎么实现开启客户端而不开启服务端?是mysql要进行什么设置吗?还有两者可以一起开启吗?
求大佬指点!

阅读 3k
1 个回答

默认是客户端预编译,就是把问号都替换成具体的内容,然后整个发给数据库,数据库需要解析整个语句
数据库预编译是,数据库把带问号的语句解析成对应的操作,然后把参数传进去
预编译缓存就是把预编译的结果缓存住,遇到一样的语句就可以直接用已经解析好的操作直接传参数就可以了
所以开启数据库预编译和预编译缓存可以一定程度提高性能

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题