GaussDB(DWS)运维 :遇到truncate执行慢,怎么办?
Posted 华为云开发者联盟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GaussDB(DWS)运维 :遇到truncate执行慢,怎么办?相关的知识,希望对你有一定的参考价值。
摘要: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执行慢,怎么办?的主要内容,如果未能解决你的问题,请参考以下文章
GaussDB(DWS)运维:导致SQL执行不下推的改写方案
云图说|数据仓库服务 GaussDB(DWS) 的“千里眼顺风耳”—数据库智能运维
云图说|数据仓库服务 GaussDB(DWS) 的“千里眼顺风耳”—数据库智能运维