开发指南—常见问题—如何使用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)/ ...;
相关文章
|
移动开发 Dart 前端开发
【技术干货】移动端跨平台技术发展
移动端跨平台技术一直在寻求研发效率动态性与性能体验间的平衡,本文归纳总结Hybrid技术、React Native技术、Flutter、小程序的技术演进与未来趋势。
3674 0
|
Java 中间件 微服务
27个阿里 Java 开源项目,值得收藏!
大家好,这里为大家整理了阿里的Java开源项目,希望对大家有所帮助
12697 0
27个阿里 Java 开源项目,值得收藏!
|
存储 安全 关系型数据库
CentOS7 如何离线安装PostgreSQL数据库
如果CentOS所在的服务器限于安全原因,客户并未给我们配置访问外网的权限,那么如何安装PostgreSQL数据库呢?本文将通过具体步骤来详细讲解如何在CentOS7 系统上离线安装PostgreSQL12数据库。
4832 0
CentOS7 如何离线安装PostgreSQL数据库
|
存储 SQL 缓存
云原生内存数据库Tair的演进之路
2022年9月,云原生内存数据库Tair在阿里云正式上线。
云原生内存数据库Tair的演进之路
|
9月前
|
存储 Java 文件存储
🗄️Spring Boot 3 整合 MinIO 实现分布式文件存储
本文介绍了如何基于Spring Boot 3和MinIO实现分布式文件存储。随着应用规模扩大,传统的单机文件存储方案难以应对大规模数据和高并发访问,分布式文件存储系统成为更好的选择。文章详细讲解了MinIO的安装、配置及与Spring Boot的整合步骤,包括Docker部署、MinIO控制台操作、Spring Boot项目中的依赖引入、配置类编写及工具类封装等内容。最后通过一个上传头像的接口示例展示了具体的开发和测试过程,强调了将API操作封装成通用工具类以提高代码复用性和可维护性的重要性。
2063 7
🗄️Spring Boot 3 整合 MinIO 实现分布式文件存储
|
存储 安全 Java
在 Java 中如何从 ArrayList 中删除空格
【8月更文挑战第23天】
191 1
|
Java 物联网 程序员
还在纠结抽象类和接口?看这篇就够了!
本文从一位程序员的角度出发,讲述了其小学弟在Java开发面试中遇到的难题——抽象类与接口的区别。文章不仅详细解析了两者的定义、特点及主要差异,还提供了实际开发中的应用场景和面试答题技巧,帮助读者更好地理解和应用这一重要知识点。
1657 12
|
网络安全 API Apache
本地快速部署Apache服务器并使用内网穿透实现远程访问
本地快速部署Apache服务器并使用内网穿透实现远程访问
398 2
|
JSON 算法 API
【python】python指南(十三):FastAPI鉴权Authorization方法
【python】python指南(十三):FastAPI鉴权Authorization方法
969 0
SpringBoot:Invalid bound statement (not found)的原因和解决方案
SpringBoot:Invalid bound statement (not found)的原因和解决方案