我如何知道已运行的查询的 query_group?

Posted

技术标签:

【中文标题】我如何知道已运行的查询的 query_group?【英文标题】:How do I know the query_group of a query which was run? 【发布时间】:2014-01-17 14:47:44 【问题描述】:

我需要帮助来确定在 redshift 上运行的查询的 query_group 是什么。我在 wlm 配置中设置了一个 query_group,并希望确保从该查询组执行查询。

【问题讨论】:

【参考方案1】:

query_group 是 WLM(工作负载管理)配置的一部分,它使您能够管理如何通过 Redshift 集群上的队列运行查询。要使用 query_group,您必须提前通过 AWS 控制台([Amazon Redshift] -> [Parameter Groups] -> Select parameter group -> [WLM])或 cli 使用 query_group 名称(标签)设置您自己的队列。

这是一个从Redshift doc 中截取的示例。

set query_group to 'Monday';
select * from category limit 1;
...
reset query_group

您必须在开始要分配给特定队列的查询之前设置query_group,并在完成后重置query_group。

您可以跟踪 query_group 的查询如下。 'label' 是 query_group 的名称。

select query, pid, substring, elapsed, label
from svl_qlog where label ='Monday'
order by query;

query | pid  |        substring                   |  elapsed  | label
------+------+------------------------------------+-----------+--------
789   | 6084 | select * from category limit 1;    | 65468     | Monday
790   | 6084 | select query, trim(label) from ... | 1260327   | Monday
791   | 6084 | select * from svl_qlog where ..    | 2293547   | Monday
792   | 6084 | select count(*) from bigsales;     | 108235617 | Monday
... 

本文档有助于了解 WLM 的工作原理和使用方法。

http://docs.aws.amazon.com/redshift/latest/dg/cm-c-implementing-workload-management.html

这个链接是关于 query_group 的。

http://docs.aws.amazon.com/redshift/latest/dg/r_query_group.html

【讨论】:

以上是关于我如何知道已运行的查询的 query_group?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据现有的 mongoose 查询检查单个文档?

PostgreSQL 如何查看已运行的查询

mysql如何查询某字段里两个值相加结果等于已知道的一个数字

洞察 Redshift Spectrum 查询错误

如何知道 MySQL UPDATE 查询是不是因为提供的信息与数据库中已有的数据匹配而失败?

组合框运行代码/查询抛出“记录集不可更新”