开发指南—常见问题—如何使用HINT

简介: 本文介绍了HINT的语法级示例。

HINT作为一种SQL补充语法,在关系型数据库中扮演着非常重要的角色。它允许用户通过相关的语法影响SQL的执行方式,对SQL进行特殊的优化。同样,PolarDB-X也提供了特殊的HINT语法。

语法


/*+TDDL: hint_command [hint_command ...]*/
/!+TDDL: hint_command [hint_command ...]*/


说明 如果使用 /*+TDDL:hint_command*/ 格式,在使用MySQL官方命令行客户端执行带有PolarDB-X自定义HINT的SQL时,请在登录命令中加上-c参数。否则,由于PolarDB-X自定义HINT是以 MySQL 注释形式使用的,该客户端会将注释语句删除后再发送到服务端执行,导致PolarDB-X自定义HINT失效。详情请参见MySQL 官方客户端命令

示例


# 查询每个分库中的物理表名
/*+TDDL:scan()*/SHOW TABLES;
# 将查询下发到RDS只读实例的0000分库上    
/*+TDDL:node(0) slave()*/SELECT * FROM t1;
# 强制指定workload为AP
/*+TDDL:WORKLOAD=AP*/SELECT * FROM t1;

PolarDB-X支持在HINT语句中使用多个HINT命令:


SELECT /*+TDDL:node(0) slave()*/ ...;

PolarDB-X不支持通过以下方式使用多个HINT命令:


# 不支持单条SQL语句中包含多个HINT语句
SELECT /*+TDDL:node(0)*/ /*+TDDL:slave()*/ ...;
# 不支持HINT语句中包含重复的HINT命令 
SELECT /*+TDDL:node(0) node(1)*/ ...;
相关文章
|
前端开发 Java Spring
spring boot中如何实现在手机注册和登录时获取验证码(阿里短信服务)
为了实现在手机注册和登录时获取手机验证码,我使用了阿里的短信服务,下面就来介绍一下具体如何实现。将介绍代码层面如何使用的,去阿里开通该服务,以及如何获得你的accessKeyId和accessKeySecret等。
1586 0
spring boot中如何实现在手机注册和登录时获取验证码(阿里短信服务)
|
存储 缓存 算法
Python 从零开始实现一个简单的LRU缓存
Python 从零开始实现一个简单的LRU缓存
217 0
|
C++
【PTA】L1-011 A-B (C++)
【PTA】L1-011 A-B (C++)
296 0
【PTA】L1-011 A-B (C++)
|
算法 机器学习/深度学习
算法导论------渐近记号Θ、Ο、o、Ω、ω详解
目录: 1.渐近精确界记号:Θ(big-theta) 2.渐近上界记号 :O(big-oh) 3.渐近下界记号 :Ω(big-omege) 4.非渐近紧确上界:o(小-oh) 5.非渐近紧确下界:ω(小-omege) 6.
7665 0
|
Java 应用服务中间件
java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.http不存在 java: 程序包javax.servlet.annotation不存在
java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.http不存在 java: 程序包javax.servlet.annotation不存在
1664 0
|
SQL 存储 监控
风电机组实时监控系统使用说明书
目录 1.引言 1 1.1前言 3 1.2项目背景 3 2.功能模块 4 2.1功能模块设计 4 2.2监控流程图 6 2.3数据库设计 6 2.4用户登录模块 9 2.5系统管理模块 10 2.6齿轮箱案件趋势分析模块 11 2.7发电机故障类型分析模块 12 2.8发电机故障类型次数分析模块 12 2.9齿轮箱分析模块 13
539 0
风电机组实时监控系统使用说明书
|
Web App开发 安全 API
J2EE Architecture(19)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1630335 J2EE Architecture(19) 1、会话Bean会话Bean有两种类型:无状态的会话Bean和有状态的会话Bean。
1204 0