Greenplum 调优--查看子节点SQL运行状态

摘自《Greenplum企业应用实战》

重点:

使用gp_dist_random函数,将查询下发到每个Segement

创建查看子节点SQL运行状态视图

1)创建v_active_sql视图方便查看SQL

create view v_active_sql as

select pg_stat_activity.procpid,pg_stat_activity.sess_id,

pg_stat_activity.usename,pg_stat_activity.waiting as w ,

to_char(pg_stat_activity.query_start,‘yyyymmdd hh24:mi:ss‘::text) as query_start,

to_char(now()-pg_stat_activity.query_start,‘hh24:mi‘::text) as exec,

pg_stat_activity.current_query

from pg_stat_activity

where pg_stat_activity.current_query <> ‘<IDLE>‘::text

order by pg_stat_activity.datname,

to_char(pg_stat_activity.query_start,‘yyyymmdd hh24:mi:ss‘::text);

2)创建获取IP的函数

create or replace function public.hostip()

return text

as $$

import socket

return socket.gethostbyname(socket.gethostname())

$$ language plpythonu;

3)创建all_seg_sql函数

create view public.all_seg_sql

as

select hostip(),

current_setting(replace(‘port‘||current_query,current_query,‘‘)) as port,

current_setting(replace(‘gp_contentid‘||current_query,current_query,‘‘)) as content,*

from gp_dist_random(‘v_active_sql‘)

where current_query <> ‘<IDLE>‘;

原文地址:https://www.cnblogs.com/xibuhaohao/p/11133467.html

时间: 2024-11-15 06:52:55

Greenplum 调优--查看子节点SQL运行状态的相关文章

关于Hive的调优(本身,sql,mapreduce)

1.关于hive的优化 ->大表拆分小表 ->过滤字段 ->按字段分类存放 ->外部表与分区表 ->外部表:删除时只删除元数据信息,不删除数据文件 多人使用多个外部表操作同一份数据文件 ->分区表:hive中的数据库,表,分区来说都是文件夹 提高了检索效率 ->手动创建 ->动态分区 ->外部表+分区表 ->数据的存储 ->存储格式:列式存储 ->压缩 2.SQL的优化 ->后join先filter 3.mapreduce的优化

spark性能调优04-算子调优

1.使用MapPartitions代替map 1.1 为什么要死使用MapPartitions代替map 普通的map,每条数据都会传入function中进行计算一次:而是用MapPartitions时,function会一次接受所有partition的数据出入到function中计算一次,性能较高. 但是如果内存不足时,使用MapPartitions,一次将所有的partition数据传入,可能会发生OOM异常 1.2 如何使用 有map的操作的地方,都可以使用MapPartitions进行替

ORACLE应用调优:请避免SQL做大量循环逻辑处理

前阵子遇到一个案例:一个同事说以前一个运行很正常的包,突然间比以前慢了很多,执行时间非常长,晚上的作业调用这个包跑了几个小时也没有跑出数据.于是我在跟踪.优化过程中定位到包中一个存储过程的一段SQL,我将原SQL简化了一下(对应的表名.函数全都随机取名替换掉),大体如下所示,在一个游标中,循环更新表TMP_JO_ORDERS, 其中需要通过函数获取一些值,这些值用来更新目标表的字段值 FOR CUR_JO IN (SELECT JOB_ORDER_NO FROM TMP_JO_ORDERS WH

Greenplum 调优--VACUUM系统表

1.VACUUM系统表原因 Greenplum是基于MVCC版本控制的,所有的delete并没有删除数据,而是将这一行数据标记为删除, 而且update其实就是delete加insert.所以,随着操作越来越多,表的大小也会越来越大.对于OLAP 应用来说,大部分表都是一次导入后不再修改,所以不会出现这个问题. 但是对于数据字典来说,就会随着时间表越来越大,其中的数据垃圾越来越多. 2.Greenplum的VACUUM工具 Greenplum的VACUUM工具,可以回收已经删除行占据的存储空间.

SQL Server调优系列基础篇(子查询运算总结)

原文:SQL Server调优系列基础篇(子查询运算总结) 前言 前面我们的几篇文章介绍了一系列关于运算符的介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符.有兴趣的童鞋可以点击查看. 本篇我们介绍关于子查询语句的一系列内容,子查询一般是我们形成复杂查询的一些基础性操作,所以关于子查询的应用方式就非常重要. 废话少说,开始本篇的正题. 技术准备 数据库版本为SQL Server2008R2,利用微软

SQL Server调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行)

原文:SQL Server调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行) 前言 上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇.有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行) 本篇继续玩转模块的内容,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲言少叙,进入本篇的内容. 技术准备 数据库版本为SQL Server2012,利用微软的以前的案例库(Northwind)进行分析,

SQL Server调优系列进阶篇(如何索引调优)

前言 上一篇我们分析了数据库中的统计信息的作用,我们已经了解了数据库如何通过统计信息来掌控数据库中各个表的内容分布.不清楚的童鞋可以点击参考. 作为调优系列的文章,数据库的索引肯定是不能少的了,所以本篇我们就开始分析这块内容,关于索引的基础知识就不打算深入分析了,网上一搜一片片的,本篇更侧重的是一些实战项内容展示,希望通过本篇文章各位看官能在真正的场景中找到合适的解决方法足以. 对于索引的使用,我希望的是遇到问题找到合适的解决方法就可以,切勿乱用!!! 本篇在分析出索引的优越性的同时也将负面影响

SQL Server调优系列进阶篇(如何维护数据库索引)

原文:SQL Server调优系列进阶篇(如何维护数据库索引) 前言 上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看. 本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常维护以及一些注意事项等. 闲言少叙,进入本篇的主题. 技术准备 数据库版本为SQL Server2012,前几篇文章用的是SQL Server2008RT,内容区别不大,利用微软的以前的案例库(Northwind)进行分析,部分内容也会

SQL Server调优系列进阶篇(查询语句运行几个指标值监测)

原文:SQL Server调优系列进阶篇(查询语句运行几个指标值监测) 前言 上一篇我们分析了查询优化器的工作方式,其中包括:查询优化器的详细运行步骤.筛选条件分析.索引项优化等信息. 本篇我们分析在我们运行的过程中几个关键指标值的检测. 通过这些指标值来分析语句的运行问题,并且分析其优化方式. 通过本篇我们可以学习到调优中经常利用的几个利器! 废话少说,开始本篇的正题. 技术准备 数据库版本为SQL Server2008R2,利用微软的一个更简洁的案例库(Northwind)进行分析. 利器一