教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

Greenplum 数据库最佳实践(8)

来源:网络收集 时间:2026-08-30
导读: 创建选择性高的B树索引。索引选择性是指:表的索引字段的不同值总数除以总行数。例如,如果一个表有1000行,索引列具有800个不同的值,那么该索引的选择性为 0.8,这是一个良好的选择性值。 如果创建索引后查询性能

创建选择性高的B树索引。索引选择性是指:表的索引字段的不同值总数除以总行数。例如,如果一个表有1000行,索引列具有800个不同的值,那么该索引的选择性为 0.8,这是一个良好的选择性值。

如果创建索引后查询性能没有显著地提升,则删除该索引。确保创建的每个索引都被优化器采用。

加载数据前务必删除索引。加载速度比带索引快一个数量级。加载完成后,重建索引。 位图索引适合查询而不适合更新业务。当列的基数较低(譬如100到100000个不同值)时位图索引性能最好。不要对唯一列、基数很高的列或者基数很低的列建立位图索引。不要为业务性负载使用位图索引。

一般来说,不要索引分区表。如果需要,索引字段不要和分区字段相同。分区表索引的一个优势在于:随着B树的增大,B树的性能呈指数下降,因而分区表上创建的索引对应的B树比较小,性能比非分区表好。 ? 字段顺序和字节对齐

为了获得最佳性能,建议对表的字段顺序进行调整以实现数据类型的字节对齐。对堆表使用下面的顺序:

? ? ?

分布键和分区键 固定长度的数值类型 可变长度的数据类型

从大到小布局数据类型,BIGINT和TIMESTAMP 在 INT 和 DATE 类型之前,TEXT,VARCHAR和NUMERIC(x,y)位于后面。例如首先定义8字节的类型(BIGINT,TIMESTAMP)字段,然后是4字节类型(INT,DATE),随后是2字节类型(SMALLINT),最后是可变长度数据类型(VARCHAR)。 如果你的字段定义如下:

Int, Bigint, Timestamp, Bigint, Timestamp, Int (分布键), Date (分区键), Bigint,Smallint 则建议调整为:

Int (分布键), Date (分区键), Bigint, Bigint, Bigint, Timestamp, Timestamp, Int, Smallint

第四章内存和负载管理

内存管理对GPDB集群性能有显著影响。默认设置可以满足大多数环境需求。不要修改默认设置,除非你理解系统的内存特性和使用情况。如果精心设计内存管理,大多数内存溢出问题可以避免。

下面是GPDB内存溢出的常见原因:

? ? ? ?

集群的系统内存不足 内存参数设置不当

段数据库(Segment)级别的数据倾斜 查询级别的计算倾斜

有时不仅可以通过增加系统内存解决问题,还可以通过正确的配置内存和设置恰当的资源队列管理负载,以避免很多内存溢出问题。

建议使用如下参数来配置操作系统和数据库的内存:

? vm.overcommit_memory

这是 /etc/sysctl.conf 中设置的一个Linux内核参数。总是设置其值为2。它控制操作系统使用什么方法确定分配给进程的内存总数。对于Greenplum数据库,唯一建议值是2。

? vm.overcommit_ratio

这是 /etc/sysctl.conf 中设置的一个Linux内核参数。它控制分配给应用程序进程的内存百分比。建议使用缺省值50.

Greenplum 数据库最佳实践(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/518721.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)