首页 > 解决方案 > 在 PostgreSQL 中解释与解释分析

问题描述

我知道 postgresql 中的解释只是估计查询的成本,而解释分析的作用相同,还执行查询并给出实际结果。但我不知道在哪些情况下我应该使用解释和解释分析。

标签: postgresql

解决方案


正如您正确提到的,解释和解释分析之间的区别在于前者通过估计成本生成查询计划,而后者实际执行查询。

因此,解释分析将为您提供更准确的查询计划/成本。

但是,您不想“解释分析”任何数据修改查询,除非您打算实际修改数据库。这些将是create table, update, insert, drop, delete&truncate table查询

同样,对于非常昂贵的查询,您可能希望通过运行解释分析来避免给服务器带来额外的负担。

一个好的规则是先试着解释一下。检查输出,如果成本估算或查询计划与您的预期有很大差异,请运行解释分析以确保

  • 数据库能够承担额外的负载
  • 运行此查询不会无意中更改任何数据。

推荐阅读