O AnalyticDB for MySQL usa cache de plano e recursos avançados de consulta para oferecer alto desempenho sem pré-processamento SQL no servidor. Para evitar sobrecarga desnecessária, desative as prepared statements no servidor e ative a interpolação de parâmetros no lado do cliente.
As seções a seguir descrevem a configuração de cada driver compatível.
Driver MySQL Connector/J (JDBC)
Defina useServerPrepStmts como false na URL ou nas propriedades da conexão JDBC. Para obter a lista completa de opções de configuração, consulte Configuration Properties for Connector/J.
|
Parâmetro |
Valor recomendado |
|
|
|
Exemplo de URL de conexão:
jdbc:mysql://<host>:<port>/<database>?useServerPrepStmts=false
Não defina useCursorFetch como true. Se useCursorFetch estiver ativado, ele substituirá a configuração useServerPrepStmts e impedirá que as prepared statements no lado do cliente tenham efeito.
MariaDB Connector/J
Defina useServerPrepStmts como false na URL ou nas propriedades da conexão MariaDB. Para mais informações, consulte About MariaDB Connector/J.
|
Parâmetro |
Valor recomendado |
|
|
|
Exemplo de URL de conexão:
jdbc:mariadb://<host>:<port>/<database>?useServerPrepStmts=false
Driver Go MySQL
Defina interpolateParams como true no DSN para ativar a interpolação de parâmetros no lado do cliente. Para mais informações, consulte go-sql-driver.
|
Parâmetro |
Valor recomendado |
|
|
|
Exemplo de DSN:
<user>:<password>@tcp(<host>:<port>)/<database>?interpolateParams=true
PDO
Defina PDO::ATTR_EMULATE_PREPARES como TRUE ao criar a conexão PDO. Para mais informações, consulte PDO::setAttribute.
|
Parâmetro |
Valor recomendado |
|
|
|
Exemplo:
$pdo = new PDO($dsn, $user, $password);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE);
Para instruções de configuração, consulte a seção PDO no guia de conexão PHP.