Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL中UPDATE与INSERT语句的性能_Postgresql - Fatal编程技术网

PostgreSQL中UPDATE与INSERT语句的性能

PostgreSQL中UPDATE与INSERT语句的性能,postgresql,Postgresql,我正在使用大约一百万行的数据库。。使用python解析文档并用术语填充表。。insert语句工作正常,但update语句会随着表大小的增加而变得非常耗时 如果有人能解释这一现象,并告诉我是否有更快的更新方法,那就太好了 谢谢, Arnav听起来像是你有索引问题。每当我听说问题随着表大小的增加而变得更糟时,我就想知道,当您与表交互时,是否正在进行表扫描 检查该表上是否有主键和有意义的索引。查看更新中的WHERE子句,确保这些列上有索引,以便尽快找到该记录 更新:使用用于更新的WHERE子句编写SE

我正在使用大约一百万行的数据库。。使用python解析文档并用术语填充表。。insert语句工作正常,但update语句会随着表大小的增加而变得非常耗时

如果有人能解释这一现象,并告诉我是否有更快的更新方法,那就太好了

谢谢,
Arnav听起来像是你有索引问题。每当我听说问题随着表大小的增加而变得更糟时,我就想知道,当您与表交互时,是否正在进行表扫描

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


更新:使用用于更新的WHERE子句编写SELECT查询,并要求数据库引擎解释计划。如果您看到一个表扫描,您将知道该做什么。

请进入psql和表上的a\d,并发布该信息和您用于更新表的SQL语句。另外,在选择您正在更新的相同数据(使用相同的WHERE子句等)时检查性能。我相信解释分析是您在2020年想要的