56、PostgreSQL 数据分布与优化策略

PostgreSQL 数据分布与优化策略

1. PostgreSQL 远程连接与版本改进

在 PostgreSQL 中,远程连接的表必须是不同的,自连接操作目前不被下推逻辑所支持。同时,不建议在排序的同时进行连接操作。例如,我们可以将 pgbench_branches 创建为外部表,让远程系统来完成它与 pgbench_accounts 的连接。对于单表查询结果可以进行排序,但如果涉及连接操作,PostgreSQL 会分别对每个表的结果进行排序,然后在本地执行连接。

PostgreSQL 在不同版本有显著的改进:
- PostgreSQL 9.6 :相比旧版本有了很大进步,虽然不能同时进行排序和连接,但已经能分别处理这两项任务。
- PostgreSQL 10 :增加了将聚合函数发送到远程服务器的功能,这适用于内置聚合函数和用户自定义的聚合函数,但要求聚合函数在两个服务器上都存在才能正常工作。
- PostgreSQL 11 :进一步改进了外部数据包装器,即使在分区表的情况下也能下推聚合函数。PostgreSQL 10 的新声明式分区缺少一些功能,而在 11 版本中这些问题得到了解决。

2. 优化外部表访问

外部表并非一无是处,我们可以使用视图来优化外部表的访问。由于 PostgreSQL 外部数据包装器不能总是合并同一服务器上多个表的查询,当我们可以访问远程服务器时,可以创建视图来封装要执行的查询核心。因为 PostgreSQL 只知道远程对象的名称,而

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值