我在PostgreSQL中有一张表,我需要读入内存。这是一张非常小的桌子,只有三列和200排,我只做了一件select col1, col2, col3 from my_table
。PostgreSQL顺序扫描小表缓慢
在开发机器上,这是非常快的(小于1ms),即使该机器是Mac OS FileVault内的VirtualBox。
但是在生产服务器上它一直需要600毫秒。生产服务器可能具有较低的规格,数据库版本也较旧(7.3.x),但我认为,单靠这一点无法解释这种巨大差异。
在这两种情况下,我都在db服务器上运行explain analyze
,所以它不能成为网络开销。查询执行计划在这两种情况下都是简单的顺序全表扫描。当时在生产机器上也没有其他任何事情发生,因此争用也没有了。
怎样才能找出为什么这是如此之慢,我能做些什么呢?
升级尽快 - 7.3不正式支持。 – 2009-12-22 13:43:03