• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

GaussDB(DWS)运维 遇到truncate执行慢,怎么办

武飞扬头像
华为云开发者联盟
帮助1

摘要: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库里面执行

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

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfkijae
系列文章
更多 icon
同类精品
更多 icon
继续加载