postgresql - 在 PostgreSQL 中解释与解释分析
问题描述
我知道 postgresql 中的解释只是估计查询的成本,而解释分析的作用相同,还执行查询并给出实际结果。但我不知道在哪些情况下我应该使用解释和解释分析。
解决方案
正如您正确提到的,解释和解释分析之间的区别在于前者通过估计成本生成查询计划,而后者实际执行查询。
因此,解释分析将为您提供更准确的查询计划/成本。
但是,您不想“解释分析”任何数据修改查询,除非您打算实际修改数据库。这些将是create table
, update
, insert
, drop
, delete
&truncate table
查询
同样,对于非常昂贵的查询,您可能希望通过运行解释分析来避免给服务器带来额外的负担。
一个好的规则是先试着解释一下。检查输出,如果成本估算或查询计划与您的预期有很大差异,请运行解释分析以确保
- 数据库能够承担额外的负载
- 运行此查询不会无意中更改任何数据。
推荐阅读
- java - 如何在 Java 中“包含”代码而不是将其包含在每个文件中?
- sql - 如何在 SQL 中进行双重计算?
- grafana - Grafana Query 挑战 $ 和 ^
- java - 调用 bazel 构建的 java 程序的原始命令行是什么?
- html - 图像样式“object-fit: contains”在 Google Chrome 版本 72.0.3626.109 中被破坏
- kubernetes - Kubernetes:如何在不更改外部 IP 地址的情况下更新命名空间?
- javascript - 如何修复未捕获的类型错误:无法读取 null 的属性“href”
- javascript - Why does the Resources Received change so frequently for same URL (page.open(url))
- reactjs - React Native 在嵌套 StackNavigator 之间导航
- google-maps - How can I reactivate the Google API key?