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

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 本文介绍了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)*/ ...;
相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
6月前
|
分布式计算 API 对象存储
Ray是一个开源的分布式计算框架,用于构建和扩展分布式应用。它提供了简单的API,使得开发者可以轻松地编写并行和分布式代码,而无需担心底层的复杂性。
Ray是一个开源的分布式计算框架,用于构建和扩展分布式应用。它提供了简单的API,使得开发者可以轻松地编写并行和分布式代码,而无需担心底层的复杂性。
1096 11
|
SQL 算法 关系型数据库
【笔记】开发指南—常见问题—如何使用全局二级索引
PolarDB-X支持全局二级索引,本文将在分库分表语法下介绍如何创建、使用全局二级索引功能。
126 0
【笔记】开发指南—常见问题—如何使用全局二级索引
|
SQL 关系型数据库 MySQL
Pandas获取SQL数据库read_sql()函数及参数一文详解+实例代码
Pandas获取SQL数据库read_sql()函数及参数一文详解+实例代码
5721 0
Pandas获取SQL数据库read_sql()函数及参数一文详解+实例代码
|
SQL 关系型数据库 MySQL
开发指南—常见问题—如何使用HINT
本文介绍了HINT的语法级示例。
155 0
|
8月前
|
测试技术
测试报告需要包含哪些内容
测试报告需要包含哪些内容
186 0
|
SQL 索引
【笔记】开发指南—常见问题—DDL常见问题
本文汇总了PolarDB-X上常见的DDL执行问题。
142 0
|
SQL 关系型数据库 MySQL
开发指南—常见问题—INDEX HINT
PolarDB-X支持全局二级索引(Global Secondary Index,简称GSI) ,您可以通过INDEX HINT命令指定从GSI中获取查询结果。
|
存储 编解码 数据安全/隐私保护
ISPRS Vaihingen 数据集解析
ISPRS Vaihingen 数据集解析
1299 0
ISPRS Vaihingen 数据集解析
|
安全 Linux 应用服务中间件
【Podman】podman入门学习 | Docker替代品
【Podman】podman入门学习 | Docker替代品
1307 0
【Podman】podman入门学习 | Docker替代品
|
虚拟化
VMware Workstation批量克隆虚拟机
VMware Workstation批量克隆虚拟机
190 0