Este tópico descreve a sintaxe de HINTs e apresenta exemplos de uso.
HINTs são uma sintaxe complementar de SQL essencial em bancos de dados relacionais. Eles permitem influenciar a execução de instruções SQL para aplicar otimizações específicas. O PolarDB-X também oferece uma sintaxe especial de HINT.
Sintaxe
/*+TDDL: hint_command [hint_command ...]*/
/!+TDDL: hint_command [hint_command ...]*/
Ao executar instruções SQL com HINTs personalizados do
PolarDB-X
no formato /+TDDL:hint_command/ pelo cliente oficial de linha de comando do MySQL, adicione o parâmetro -c ao comando de login. Caso contrário, como os HINTs personalizados do
PolarDB-X
seguem o formato de
, o cliente removerá esses comentários antes de enviar as instruções ao servidor. Isso tornará os HINTs personalizados do
PolarDB-X
ineficazes. Para mais informações, consulte as
opções de comando do cliente oficial do MySQL
.
Exemplos
# Query the physical table names in each database shard.
/*+TDDL:scan()*/SHOW TABLES;
# Send the query to the 0000 database shard of the RDS read-only instance.
/*+TDDL:node(0) slave()*/SELECT * FROM t1;
# Force the workload type to AP.
/*+TDDL:WORKLOAD=AP*/SELECT * FROM t1;
O PolarDB-X permite usar vários comandos HINT em uma única instrução HINT:
SELECT /*+TDDL:node(0) slave()*/ ...;
O PolarDB-X não suporta o uso de múltiplos comandos HINT nas seguintes formas:
# Multiple HINT statements are not supported in a single SQL statement.
SELECT /*+TDDL:node(0)*/ /*+TDDL:slave()*/ ...;
# Duplicate HINT commands are not supported in a HINT statement.
SELECT /*+TDDL:node(0) node(1)*/ ...;