PostgreSQL中的UPDATE vs INSERT语句性能

时间:2009-07-03 14:37:31

标签: postgresql

我正在处理大约一百万行的数据库...使用python来解析文档并用表格填充表格。插入语句工作正常,但随着表格大小的增加,更新语句非常耗时。 / p>

如果有人可以解释这种现象,并告诉我是否有更快的方式进行更新,那将会很棒。

谢谢, Arnav

1 个答案:

答案 0 :(得分:7)

听起来你有索引问题。每当我听到表格大小增加时问题变得越来越严重时,我会怀疑你是否在与桌子交互时进行表格扫描。

检查该表上是否有主键和有意义的索引。查看UPDATE上的WHERE子句,并确保在这些列上有一个索引,以便尽快找到该记录。

更新:使用您用于UPDATE的WHERE子句编写SELECT查询,并要求数据库引擎使用EXPLAIN PLAN。如果您看到TABLE SCAN,您将知道该怎么做。