本节包含一些关于排查查询中常见问题的想法。

要排查查询问题,您可以检查其 EXPLAIN 计划。

PostgreSQL 的 EXPLAIN 功能允许用户了解 PostgreSQL 用于执行查询的底层查询计划。PostgreSQL 可以通过多种方式执行查询:例如,查询可以使用慢速顺序扫描或更高效的索引扫描来完成。计划的选择取决于表上创建的索引、PostgreSQL 拥有的关于您的数据的统计信息以及各种计划器设置。EXPLAIN 输出让您知道 PostgreSQL 为特定查询选择的计划。PostgreSQL 对此功能进行了深入解释

要了解超表上的查询性能,我们建议首先通过运行 VACUUM ANALYZE <your-hypertable>; 确保计划器统计信息和表维护在超表上是最新的。然后,我们建议运行以下版本的 EXPLAIN

EXPLAIN (ANALYZE on, BUFFERS on) <original query>;

如果您怀疑性能问题是由于磁盘 IO 速度慢造成的,您可以通过在运行上述 EXPLAIN 之前使用 SET track_io_timing = 'on'; 启用 track_io_timing 变量来获得更多信息。

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面