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

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

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

mysql
java
mybatis
2022-10-26 13:02:01
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
疑惑的冒险者
2

默认是客户端预编译,就是把问号都替换成具体的内容,然后整个发给数据库,数据库需要解析整个语句

数据库预编译是,数据库把带问号的语句解析成对应的操作,然后把参数传进去

预编译缓存就是把预编译的结果缓存住,遇到一样的语句就可以直接用已经解析好的操作直接传参数就可以了

所以开启数据库预编译和预编译缓存可以一定程度提高性能。

分享
微博
QQ
微信
回复
2022-10-26 14:27:55
相关问题
golang redis客户端连接状态
2560浏览 • 1回复 待解决
客户端开发无法获取code
256浏览 • 1回复 待解决
svn客户端和svn服务版本不同。
2213浏览 • 1回复 待解决
https如何设置ca证书和客户端证书
315浏览 • 1回复 待解决
有哪些好用的免费的MongoDB客户端
3698浏览 • 1回复 待解决
Nginx TCP转发配置 -客户端真实IP
2214浏览 • 0回复 待解决