Postgresql |如何在Sql插入中指定索引更新时间

Postgresql |如何在Sql插入中指定索引更新时间,postgresql,Postgresql,在postgresql中执行insert语句时,我们如何确定索引更新过程所花费的时间 解释(分析) 请小心,因为这是sql查询将被执行的原因 如果不需要,请使用如下回滚: BEGIN; EXPLAIN ANALYZE <query> ROLLBACK; 开始; 解释分析 回降; 我发现获得好答案的唯一方法是在有索引和没有索引的情况下进行太多的基准测试。您无法通过解释获得这些信息。最好的方法是在没有索引的情况下,使用脚本或pgbench在循环中运行此操作,然后删除数据并在索引存在

在postgresql中执行insert语句时,我们如何确定索引更新过程所花费的时间 解释(分析) 请小心,因为这是sql查询将被执行的原因 如果不需要,请使用如下回滚:

BEGIN;

EXPLAIN ANALYZE <query>

ROLLBACK;
开始;
解释分析
回降;

我发现获得好答案的唯一方法是在有索引和没有索引的情况下进行太多的基准测试。

您无法通过解释获得这些信息。最好的方法是在没有索引的情况下,使用脚本或pgbench在循环中运行此操作,然后删除数据并在索引存在的情况下重复

记住每次测试前都要对表格进行真空分析。如果可以关闭表,请考虑真空满或簇。


请记住,根据表和索引的大小、表的状态以及索引和索引的复杂程度,时间可能会有所不同。因此,如果您插入到一个空表中,或者插入到一个有100M行的表中,结果将不同

我试过了。在插入查询的情况下,我们如何确定查询计划中要更新哪些属性的特定部分?我不太理解你的问题,但这里有一篇关于解释和选项的非常好的文章(),也许使用它们你会得到你想要的,例如详细的