MySQL预编译如何开启?客户端和服务器端预编译分别是什么?
MySQL开启预编译详解
预编译默认在MySQL中处于关闭状态。以下问题解答了有关客户端和服务器端预编译以及如何开启这些功能的疑问。
问题:
- 网上说法:MySQL支持预编译,但默认关闭。通过java操作数据库时,添加useServerPrepStmts=true和cachePrepStmts=true参数可以开启服务器端预编译。什么是客户端预编译?如何开启?
答案:
- 默认情况下,MySQL使用的是客户端预编译。它将SQL语句中的问号 (?) 替换为具体的值,然后将整个语句发送给数据库。数据库随后解析整个语句。
- 服务器端预编译是在数据库中解析带问号的语句,并生成相应的操作,然后将参数传递给该操作。
- 预编译缓存是将预编译的结果存储起来,以便遇到相同的语句时可以直接使用解析好的操作,并只传递参数。
如何开启客户端预编译而不开启服务器端预编译?
- 无需设置即可使用客户端预编译。它默认处于开启状态。
如何开启服务器端预编译而不开启客户端预编译?
- 这种方式不推荐,因为会导致性能问题。但是可以通过在MySQL配置文件中设置skip-character-set-client-handshake=ON参数来实现。
能否同时开启客户端和服务器端预编译?
- 可以。在链接中添加useServerPrepStmts=true和cachePrepStmts=true参数即可同时开启客户端和服务器端预编译。
以上就是MySQL预编译如何开启?客户端和服务器端预编译分别是什么?的详细内容,更多请关注其它相关文章!