本文将介绍如何在不同编程语言中开启客户端的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