我在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