PostgreSQL中UPDATE语句与INSERT语句的性能比较

5
我正在处理一个包含约一百万行数据的数据库,使用Python解析文档并用术语填充表格。插入语句可以正常工作,但随着表格大小的增长,更新语句会变得非常耗时。
如果有人能够解释这种现象,并告诉我是否有更快的更新方法,那就太好了。
谢谢, Arnav

1
请进入psql并对表执行\d命令,然后发布您正在使用的SQL语句以更新该表的信息。 - Andrew Johnson
1个回答

8
听起来你遇到了索引问题。每当我听到随着表格大小增长而问题变得更糟时,我就会想知道你是否在与表交互时进行表扫描。
检查一下你的表是否有主键和有意义的索引。查看你在UPDATE中使用的WHERE子句,并确保这些列上有索引,以使查找记录尽可能快。
更新:编写一个使用你用于UPDATE的WHERE子句的SELECT查询,并要求数据库引擎解释计划。如果你看到了TABLE SCAN,那么你就知道该怎么做了。

1
同时,在进行更新操作时,也要检查选择相同数据的性能(使用相同的WHERE子句等)。 - instanceof me
1
我相信在2020年,EXPLAIN ANALYZE是你想要的。 - Theo F

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接