全部产品
云市场

不同编程语言中如何开启客户端的PrepareStatement

更新时间:2019-09-02 09:41:33

背景信息

大多数数据库中,依靠服务器端预处理语句可以提高数据库性能。AnalyticDB for MySQL数据库自身具备强大的查询计算能力和计划缓存功能,无需依靠服务器端预处理语句获得大部分性能优势。

AnalyticDB for MySQL数据库目前不支持服务器端预编译协议,大部分开发语言中支持通过配置开启客户端预编译(PrepareStatement),也称之为客户端准备语句仿真或参数插值。

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