开发指南—常见问题—如何自定义SQL超时时间

简介: 在PolarDB-X中,PolarDB-X节点与RDS的默认SQL执行超时时间是900秒(可以调整),但是对于某些特定的慢SQL,其执行时间可能超过了900秒 。针对这种慢SQL,PolarDB-X提供了调整超时时间的自定义HINT。通过这个自定义HINT可以任意调整SQL执行时长。

注意事项

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

语法

PolarDB-X自定义SQL超时时间HINT的语法如下:


/*+TDDL:SOCKET_TIMEOUT(time)*/

其中,SOCKET_TIMEOUT的单位是毫秒。通过该HINT您可以根据业务需要,自由调整SQL语句的超时时间。

示例

设置SQL超时时间为40秒:


/*+TDDL:SOCKET_TIMEOUT(40000)*/SELECT * FROM t_item;

超时时间设置得越长,占用数据库资源的时间就会越长。如果同一时间长时间执行的SQL过多,可能消耗大量的数据库资源,从而导致无法正常使用数据库服务。所以,对于长时间执行的SQL语句,尽量对SQL语句进行优化。

相关文章
element-ui Pagination分页只保留上一页下一页
有时数据量太大,比如日志数据没必要查看很久之前的,所以把页数屏蔽,不给系统造成卡顿,最简单的方式就是隐藏总条数、页数。具体做法来看一下吧
539 0
|
程序员 人工智能 Serverless
通义灵码保姆级教程:官网、安装、使用指南、常见问题、线上活动、官方答疑
通义灵码保姆级教程:官网、安装、使用指南、常见问题、线上活动、官方答疑
22351 1
|
SQL 监控 druid
Druid未授权访问 漏洞复现
Druid未授权访问 漏洞复现
18681 0
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
11724 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
Ubuntu 关系型数据库 MySQL
Mysql Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)异常处理
Mysql Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)异常处理
553 0
Mysql Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)异常处理
|
存储 SQL 关系型数据库
mysql创建的索引不生效,查询数据仍是全表扫描?
mysql创建的索引不生效,查询数据仍是全表扫描?
|
Java 数据库 Spring
【异常解决】解决mybatis-plus分页查询默认最多查询500条记录的问题,真是个大坑啊
【异常解决】解决mybatis-plus分页查询默认最多查询500条记录的问题,真是个大坑啊
1327 0
|
存储 Java 网络安全
用正则表达式匹配3的任意倍数
正则表达式能匹配3的任意倍数?(注意是任意倍数) ,我曾经也很震惊,但确实可以。我5年多前练习正则表达式,在Regex Golf这个正则表达式测试网站上发现了这个题,当时完全没有任何头绪,于是我在知乎提问正则表达式如何匹配 3 的倍数 ,但是得到了好多知乎大佬的关注,也上了当天的热榜。 排名第一的答主已经给出了答案和思路,但这么多年来我一直都没看懂,最近学习编译原理,看到正则表达式和DFA,于是仔细研究了一下这个问题,并将问题扩展至匹配N的倍数,最后给出通用解法和代码。
137 0
|
存储 Kubernetes 容灾
技术揭秘:从双11看实时数仓Hologres高可用设计与实践
本文将会从阿里巴巴双11场景出发,分析实时数仓面临的高可用挑战以及针对性设计。
4994 3
技术揭秘:从双11看实时数仓Hologres高可用设计与实践
LeetCode150道面试经典题--判断子序列(简单)
设置两个指针,一个T指针指向T并且遍历t,另一个有效位指针Sindex指向s初始位置,当数组中两者值相等时候S指针下移一位,当有效位指针一旦到达s字符串长度则返回true,否则返回false。如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。时间复杂度为O(n),空间复杂度为O(1)
188 0