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) 的“千里眼顺风耳”—数据库智能运维

一文带你了解数仓智能运维框架

GaussDB(DWS)发生数据倾斜不要慌,一文教你轻松获取表倾斜率

GaussDB(DWS)发生数据倾斜不要慌,一文教你轻松获取表倾斜率