写点什么

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

  • 2022-12-13
    中国香港
  • 本文字数:534 字

    阅读完需:约 2 分钟

GaussDB(DWS)运维 :遇到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    queryFROM pgxc_wlm_session_infoWHERE 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 的语句


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

发布于: 刚刚阅读数: 3
用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
GaussDB(DWS)运维 :遇到truncate执行慢,怎么办_数据库_华为云开发者联盟_InfoQ写作社区