Azure Database for PostgreSQL 灵活服务器中查询存储的最佳做法

适用于: Azure Database for PostgreSQL 灵活服务器

本文概述了在 Azure Database for PostgreSQL 灵活服务器中使用查询存储的最佳做法。

设置最佳查询捕获模式

配置查询存储,使其捕获对你很重要的查询。

pg_qs.query_capture_mode 方案
all 捕获所有查询(顶级或嵌套)及其执行频率和其他统计信息。 识别工作负荷中的新查询。 检测是否使用了即席查询,从而识别用户定义的参数化或自动参数化的机会。
top 仅捕获顶级查询。 顶级查询是客户端直接发出的查询。 这些查询不包括嵌套语句(在过程或函数内执行的语句)。
top 这样配置后,不会捕获任何新查询。 如果已经在想要调查的时间窗口中捕获了查询集,并且不想继续记录任何新查询,则可能需要将其设置为此值。 none 适用于测试和基准标记环境。 由于可能会错过跟踪和优化重要新查询的机会,因此应谨慎使用 none

注意

pg_qs.query_capture_mode 取代了 pgms_wait_sampling.query_capture_mode。 如果 pg_qs.query_capture_modenone,则 pgms_wait_sampling.query_capture_mode 设置不起作用。

保留所需的数据

pg_qs.retention_period_in_days 参数指定查询存储的数据保留期。 超过该期限的记录统计信息将被删除。 还会删除没有被任何统计信息引用的查询的查询文本或查询计划。 默认情况下,查询存储配置为将数据保留 7 天。 避免保留你并不打算使用的历史数据。 若需要将数据保留更长时间,请增大保留期的值。