摘要:truncate执行慢,耗时长达几十到几百秒,这可怎么破?

本文分享自华为云社区《GaussDB(DWS)运维 -- truncate慢》,作者: 譡里个檔。

【现象】truncate执行慢,耗时长达几十到几百秒

【根因】truncate表被查询表的DML语句阻塞

【方案】建议truncate表和查询表动作的依赖,保证二者串行执行

【定位】假如语句 truncate dwr_tdc_dim_inv_country_reg_d 执行时间过久,且执行的truncate语句的执行开始时间是:2022-12-07 08:30:12

执行结束时间是:2022-12-07 08:40:12

那么可以使用如下SQL查询到这段时间查询到truncate的目标表的查询语句

注:这个语句要在postgres库里面执行

SELECT
start_time, -- SQL执行开始时间
finish_time, -- SQL执行结束时间
duratuin, -- SQL执行时间,单位ms
query
FROM pgxc_wlm_session_info
WHERE start_time >= '2022-12-07 08:30:12' + interval '20 min' -- 开始时间比truncate开始时间提前20min以内
AND finish_time <= '2022-12-07 08:30:12' + interval '1 min' -- 结束时间跟truncate结束时间基本一致
AND query like '%dwr_tdc_dim_inv_country_reg_d%' -- 查询到了truncate的表

输出的query就是影响到truncate语句的语句。一般finish_time比truncate语句执行时间结束时间略小的语句就是阻塞truncate的语句

点击关注,第一时间了解华为云新鲜技术~

GaussDB(DWS)运维 :遇到truncate执行慢,怎么办?的更多相关文章

  1. GaussDB(DWS)运维:导致SQL执行不下推的改写方案

    摘要:本文就针对因USING子句的书写方式可能导致MERGE INTO语句的执行不下推的场景,对USING子句的SQL语句进行改写一遍,整个SQL语句可以下推. 本文分享自华为云社区<Gauss ...

  2. 【数仓运维实践】关于GaussDB(DWS)单SQL磁盘空间管控

    摘要:本文主要讲解数仓运维中遇到单SQL磁盘空间管控问题的解析和方案. 本文分享自华为云社区<GaussDB(DWS)运维 -- 单SQL磁盘空间管控>,作者: 譡里个檔. [问题描述] ...

  3. 【转】运维DBA的4大纪律9项注意

    朋友们调侃说,运维是个把脑袋别在裤腰带上的活,更有人说,运维是个把脑袋别在他人裤腰带上的活,苦劳没人认,有锅就有得背! 测试的同学说,“吃瓜群众很难感知运维背后的付出,倒是出了事情更能体现我们的专业性 ...

  4. 百度云曲显平:AIOps时代下如何用运维数据系统性地解决运维问题?

    百度云智能运维负责人 曲显平 本文是根据百度云智能运维负责人曲显平10月20日在msup携手魅族.Flyme.百度云主办的第十三期魅族技术开放日<百度云智能运维实践>演讲中的分享内容整理而 ...

  5. [Oracle运维工程师手记] 如何从trace 文件,判断是否执行了并行

    [Oracle运维工程师手记系列]如何从trace 文件,判断是否执行了并行 客户说,明明指定了并行的hint,OEM 却报说没有并行,并且提供了画面. 客户的SQL文长这样: INSERT/*+ p ...

  6. 运维程序】简单的命令控制器(支持定时命令执行、重复定时任务命令和进程管理,开发这个小程序主要是为了方便管理服务进程)【个人github项目】

    一.前言: command-controller 一个运维程序,简单的命令控制器(支持定时命令执行和重复定时命令,开发这个程序主要是为了方便管理服务进程) 本来是要用python做的,但是之前做ffm ...

  7. 【运维程序】简单的命令控制器(支持定时命令执行、重复定时任务命令和进程管理,开发这个小程序主要是为了方便管理服务进程)【个人github项目】

    一.前言: command-controller 一个运维程序,简单的命令控制器(支持定时命令执行和重复定时命令,开发这个程序主要是为了方便管理服务进程) 本来是要用python做的,但是之前做ffm ...

  8. Linux centosVMware 自动化运维认识自动化运维、启动salt相关服务、saltstack配置认证、salt-key命令用法、saltstack远程执行命令、saltstack - grains、saltstack – pillar

    一.认识自动化运维 传统运维效率低,大多工作人为完成 传统运维工作繁琐,容易出错 传统运维每日重复做相同的事情 传统运维没有标准化流程 传统运维的脚本繁多,不能方便管理 自动化运维就是要解决上面所有问 ...

  9. 详解GaussDB(DWS) explain分布式执行计划

    摘要:本文主要介绍如何详细解读GaussDB(DWS)产生的分布式执行计划,从计划中发现性能调优点. 前言 执行计划(又称解释计划)是数据库执行SQL语句的具体步骤,例如通过索引还是全表扫描访问表中的 ...

  10. mysql运维必会的一些知识点整理

    (1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld start service mysqld start systemctl start mysqld 2.检测端口是 ...

随机推荐

  1. 2023平台工程崭露头角,AI 带来新机遇与挑战

    在今年,平台工程正在迅速在 IT 企业中崭露头角,成为软件开发团队的必要实践.根据 CloudBees 发布的最新报告<2023年平台工程:快速采纳和影响>,83%的受访者已经完全实施了平 ...

  2. ansible 命令行模

    ansible 命令行模 ansible命令格式 命令格式:ansible <组名> -m <模块> -a <参数列表> 查看已安装的模块 ansible-doc ...

  3. JUC并发编程学习笔记(十五)JMM

    JMM 请你谈谈对Volatile的理解 Volatile是java虚拟机提供的轻量级的同步机制 1.保证可见性 2.不保证原子性 3.禁止指令重排 什么是JMM JVM->java虚拟机 JM ...

  4. 题解 CF277A

    题目大意: 有 \(n\) 名员工,一共有 \(m\) 种语言,每名员工都会其中 \(k_i\) 种语言(\(m \ge \boldsymbol{k_i \ge 0}\)),现规定两名员工可以交流的条 ...

  5. 改变element dialog弹窗的关闭按钮样式

    .el-dialog__headerbtn { top: 8px !important; background: url('https://你路径资源的url图片') left no-repeat; ...

  6. vue element ui 组件使用 -form 表单

    表单验证rules 绑定是规则 也可以自定义规则,:model是表单的数据源 el-form-item 标签里面prop的名字要和数据源的名字一致,才能验证生效 ;提交时调用this.$refs[fo ...

  7. go 上下文:context.Context

    Go语言中的上下文(Context)是一种用于在 Goroutines 之间传递取消信号.截止时间和其他请求范围值的标准方式.context 包提供了 Context 类型和一些相关的函数,用于在并发 ...

  8. L3-008 喊山

    #include <bits/stdc++.h> using namespace std; using pii = pair<int, int>; const int N = ...

  9. 解密Prompt系列19. LLM Agent之数据分析领域的应用:Data-Copilot & InsightPilot

    在之前的 LLM Agent+DB 的章节我们已经谈论过如何使用大模型接入数据库并获取数据,这一章我们聊聊大模型代理在数据分析领域的应用.数据分析主要是指在获取数据之后的数据清洗,数据处理,数据建模, ...

  10. 一文搞懂C#中类成员的可访问性

    公众号「DotNet学习交流」,分享学习DotNet的点滴. 文末有总结,想快速浏览的朋友可直接看文末. 1.成员访问修饰符 在C#中类成员访问修饰符一共有5个,分别是public.private.p ...