Greenplum与Oracle开发指南:对象数与连接数优化
需积分: 5 126 浏览量
更新于2024-08-05
收藏 108KB DOCX 举报
本文档主要介绍了Greenplum (GP) 开发规范和与Oracle数据库之间的语法差异,旨在帮助开发人员更好地理解和优化在GP环境下进行高效、性能良好的数据库操作。以下是主要内容概要:
1. **对象数管控**:
- GP建议数据库对象数量控制在2-3万之间,超过5万可能会影响性能,尤其是索引(包括普通索引、唯一索引和主键)。尽量避免创建过多索引,临时表用后立即删除。
- 分区表应谨慎使用,考虑表的数据量、性能瓶颈、查询条件等因素,以及是否需要存储历史数据和数据分布均匀性。
- 默认采用行存储,除非必要,否则避免列存储,因为这会增加对象数。
2. **连接数管理**:
- GP推荐连接数保持在200左右,超过250个连接会显著降低性能。开发人员应限制每个连接数,如每个开发者最多4个连接。
- 建议配置后台调度程序定期清理超过6小时未使用的连接。
3. **建表策略**:
- 分布键的选择至关重要,应选择主键或唯一标识字段,其次是经常关联的字段,但需确保分布均匀。
- 分布键建议使用单个字段,避免使用过多,且在GP中使用反引号包围以保持大小写敏感性。
- 表名应简洁并遵循特定规则,避免特殊字符。
- GP支持Heap(无压缩行存表)和AO(压缩的追加优化表)两种表类型,根据数据量选择合适的表结构。
- 字符串类型如varchar应优先于char使用,以减少内存消耗。
4. **查询优化**:
- GP使用模式搜索路径配置来查找对象,通常默认为当前用户和public schema。引用其他schema的对象时需指定全限定名。
- 对于除法运算,需要特别注意潜在的性能问题,可能需要进行优化。
本文档提供了一套针对Greenplum数据库开发的最佳实践,旨在确保代码质量和性能,同时考虑到与Oracle的差异,帮助开发人员在GP环境中编写出更高效、可维护的代码。
2021-03-15 上传
2022-09-24 上传
2022-08-08 上传
2009-02-12 上传
185 浏览量
2015-07-17 上传
2022-11-01 上传