本文将介绍如何在不同编程语言中开启客户端的PrepareStatement。
大多数数据库中,依靠服务器端预处理语句可以提高数据库性能。AnalyticDB MySQL数据库自身具备强大的查询计算能力和计划缓存功能,无需依靠服务器端预处理语句获得大部分性能优势。
AnalyticDB MySQL数据库不建议使用服务器端预编译。大部分开发语言中支持通过配置开启客户端预编译(PrepareStatement),也称之为客户端准备语句仿真或参数插值。
MySQL Connector/J (JDBC) driver
在MySQL Connector/J (JDBC) driver中开启PrepareStatement时,需要配置useServerPrepStmts=false
参数,详情请参见Configuration Properties for Connector/J。
说明 无需配置
useCursorFetch=true
参数,否则将覆盖useServerPrepStmts=false
参数,无法开启PrepareStatement。MariaDB Connector/J
在MariaDB Connector/J中开启PrepareStatement时,需要配置useServerPrepStmts=false
参数,详情请参见About MariaDB Connector/J。
Go MySQL driver
在Go MySQL driver中开启PrepareStatement时,需要配置interpolateParams=true
参数,详情请参见Go-MySQL-Driver。
PDO
在PDO中使用PrepareStatement时,需要配置PDO::ATTR_EMULATE_PREPARES=TRUE
参数,详情请参见setAttribute。