Greenplum 调优--VACUUM系统表

1、VACUUM系统表原因

Greenplum是基于MVCC版本控制的,所有的delete并没有删除数据,而是将这一行数据标记为删除,

而且update其实就是delete加insert。所以,随着操作越来越多,表的大小也会越来越大。对于OLAP

应用来说,大部分表都是一次导入后不再修改,所以不会出现这个问题。

但是对于数据字典来说,就会随着时间表越来越大,其中的数据垃圾越来越多。

2、Greenplum的VACUUM工具

Greenplum的VACUUM工具,可以回收已经删除行占据的存储空间。

语法:

vacuum table;

vacuum full table;

1)简单的vacuum table只是简单的回收空间且令其可以再次使用。可以缓解表的增长。

这个命令执行的时候,其他操作仍可以对标的读写并发操作,没有请求排他锁。

2)vacuum full执行更广泛的处理,包括跨块移动行,把表压缩到最少的磁盘块数目存储。

这个命令执行的时候,需要加排他锁。

3)PostgreSQL中,此功能是自动执行。但是Greenplum中大部分的表是不需要vacuum的,

所以vacuum的autovacuum是关闭的。

4)执行vacuum后,最好对表上的索引进行重建

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

时间: 2024-10-16 16:52:41

Greenplum 调优--VACUUM系统表的相关文章

【Spark调优】大表join大表,少数key导致数据倾斜解决方案

[使用场景] 两个RDD进行join的时候,如果数据量都比较大,那么此时可以sample看下两个RDD中的key分布情况.如果出现数据倾斜,是因为其中某一个RDD中的少数几个key的数据量过大,而另一个RDD中的所有key都分布比较均匀,此时可以考虑采用本解决方案. [解决方案] 对有数据倾斜那个RDD,使用sample算子采样出一份样本,统计下每个key的数量,看看导致数据倾斜数据量最大的是哪几个key. 然后将这几个key对应的数据从原来的RDD中拆分出来,形成一个单独的RDD,并给每个ke

调优之系统篇--cpu,内存

cpu是操作系统稳定运行的根本.Linux内核把多核心的处理器当做多个单独的CPU来识别,如两个双核心CPU在Linux系统下是4个单核CPU,从性能来讲两个双核心CPU性能比4个单核心CPU低25%-30%.可能出现CPU瓶颈的应用时动态web应用.邮件服务器 内存也是影响Linux性能的重要因素:内存太小系统进程被阻塞,应用变得缓慢:内存太大造成浪费.一个32位处理器的Linux操作系统最大内存是8G.并且由与处理器寻址的范围限制,32位Linux系统上,应用程序单个进程最大只能使用2G内存

【Spark调优】小表join大表数据倾斜解决方案

[使用场景] 对RDD使用join类操作,或者是在Spark SQL中使用join语句时,而且join操作中的一个RDD或表的数据量比较小(例如几百MB或者1~2GB),比较适用此方案.. [解决方案] 小表join大表转为小表broadcast+map大表实现.具体为: 普通的join是会shuffle的,而一旦shuffle,就相当于会将相同key的数据拉取到一个shuffle read task中再进行join,此时就是reduce join,此时如果发生数据倾斜,影响处理性能,而此时恰好

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_

Sybase数据库应用系统调优的五大领域

Sybase数据库应用系统调优的五大领域 2011/3/14/13:49来源:慧聪it网 本 文以“某大型商业银行的网上银行系统”这一很具有典型意义的企业级大型Sybase数据库应用系统为例,涉及了数据库应用系统调优的五大领域:压力测试. 应用端调优.服务器端调优.系统平台层的优化.应用架构的优化,详细介绍了作者在项目开发过程中曾经遇到的各种问题及其解决办法.本文通过对“企业级 Sybase数据库应用系统的性能调优的最佳实践”的探讨,从而为这类性质的工作提供了具有普遍指导意义的参考. 1.项目背

MySQL 优化之 Linux系统层面调优

http://www.cnblogs.com/digdeep/p/4885948.html MySQL 一般运行于Linux系统中.对于MySQL的调优一般分为Linux操作系统层面的调优和MySQL层面的调优(当然还有架构层面.业务层面.应用程序层面的调优).操作系统主要是管理和分配硬件资源,所以其实系统层面的调优包括了硬件的调优,也就是调整硬件参数.Linux系统层面的调优一般分为 CPU的调优.内存的调优.磁盘的调优.网络的调优.Linux后台service调优等等. 1. CPU 调优

linux系统调优-存储(内存、硬盘)

首先一个基本概念:                ?存储系统存储速度的快->慢:       内存->闪存->磁盘 因为内存的价格限制以及操作系统支持的限制,我们只能从磁盘这块来看,可见磁盘正是存储系统的最大瓶颈所在. **下面具体提出我们的优化方案 优化方案1.缓存机制: 我们在磁盘里嵌入一小块高速的内存,用以保持常用的数据,我们称它为缓存.这样既可以使用磁盘,也能提高性能 缓存分为3类 Filestem cache.Diskcache.Disk controller cache.这里

第五十五课 linux系统调优 之cpu、内存、网络、I/O

linux系统调优之系统基础原理及CPU调优 linux系统调优之内存调优 linux系统调优之网络调优 linux系统调优之内存和IO调优

MySQL千万级多表关联SQL语句调优

本文不涉及复杂的底层数据结构,通过explain解释SQL,并根据可能出现的情况,来做具体的优化,使千万级表关联查询第一页结果能在2秒内完成(真实业务告警系统优化结果). 需要优化的查询:使用explain 出现了Using temporary: 有分页时出现了Using filesort则表示使用不了索引,需要根据下面的技巧来调整语句 rows过多,或者几乎是全表的记录数: key 是 (NULL): possible_keys 出现过多(待选)索引. 1.使用explain语法,对SQL进行