我知道postgresql中的explain只是估计查询的成本,explain analyze也会这样做,还会执行查询并给出实际结果.

推荐答案

正如你正确提到的,解释和;解释分析是,前者通过估计成本生成查询计划,而后者实际执行查询.

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

但是,您不想"解释分析"任何数据修改查询,除非您打算实际修改数据库.这将是create tableupdateinsertdropdelete和;truncate table个问题

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

要遵循的一个好规则是,试着先解释一下.判断输出,如果成本估算或查询计划与您预期的有显著差异,请运行解释分析,确保

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

Postgresql相关问答推荐

Keycloak和PostgreSQL

如何在PSQL中查询jsonb列包含字符串的嵌套数组

Gorm 创建表单数据文件上传错误

postgres hierarchy - 用祖先的值填充缺失值

如何在不同的行中显示两列,避免重复并省略空条目

用于生产的 Rails 性能调优?

我可以在 Ruby on Rails 上编写 PostgreSQL 函数吗?

Hibernate 将用户模型保存到 Postgres

PostgreSQL:是否可以将枚举转换为整数?

带有 postgres 的 DOCKER 容器,警告:could not open statistics file "pg_stat_tmp/global.stat": Operation not permitted

如何使 Java 和 Postgres 枚举一起工作以进行更新?

如何为查询执行设置语句超时

在 Postgresql 中拆分逗号分隔的字段并对所有结果表执行 UNION ALL

使用 PostgreSQL 创建数据透视表

Django:按月查询组

如何使用 sql 或 phpPgAdmin 更改 PostgreSQL 数据库的数据库编码?

postgres LISTEN/NOTIFY rails

在 docker-compose up 后加载 Postgres 转储

pgBouncer 如何帮助加速 Django

如何确定在 Postgres 中使用什么类型的索引?