Postgresql psql客户机-服务器通信

Postgresql psql客户机-服务器通信,postgresql,jdbc,Postgresql,Jdbc,请帮助:我希望在PostgreSQL 9.2版本上提高顺序扫描性能。作为测试的一部分,我正在从运行数据库的Unix box本地对某个大表执行“select*from..”查询。该表没有索引,并且是新创建的。每100k行输出到/dev/null需要30秒,而“createtableasselect”语句需要7秒,它不仅选择而且写入相同的数据量。我认为问题在于客户机-服务器连接。目标实际上是遭受相同速度的JDBC连接。我不是psql的指定主机,因为它是本地连接,而对于JDBC,我使用的是“local

请帮助:我希望在PostgreSQL 9.2版本上提高顺序扫描性能。作为测试的一部分,我正在从运行数据库的Unix box本地对某个大表执行“select*from..”查询。该表没有索引,并且是新创建的。每100k行输出到/dev/null需要30秒,而“createtableasselect”语句需要7秒,它不仅选择而且写入相同的数据量。我认为问题在于客户机-服务器连接。目标实际上是遭受相同速度的JDBC连接。我不是psql的指定主机,因为它是本地连接,而对于JDBC,我使用的是“localhost”。我可以在JDBC或DB级别进行一些设置来改进它吗

网络通信总是会增加一些开销。此外,整数、浮点、数字、日期、时间必须转换为文本,并且可能必须对文本值进行字符集转换。输出还需要在写入之前进行漂亮的格式化。这一切都需要时间。当使用相同的数据创建一个新表时,这些转换中的许多都不需要发生,因为所有内容都可以保持其本机二进制格式。因此,我认为您不能做太多。

输出行的大小是多少?尝试从表中选择sum(长度(表。*::text))进行估算。如果使用SSL,请关闭if(对于unix域套接字,它总是关闭,但对于TCP localhost则不关闭)是
select*from…
实际上需要改进的地方,还是它只是其他东西的代理?也许你试图优化的东西是错误的。事实上,这需要改进。没有SSL,甚至没有网络:一切都是本地的。长度为155字节。