簡體   English   中英

按總運行時間,執行時間,等待/排隊時間列出Redshift中的熱門查詢?

[英]List top queries by total runtime, execution time, wait/queue time in Redshift?

我知道亞馬遜已經為Redshift提供了各種管理腳本,例如:

https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminScripts/top_queries.sql

它按運行時列出了​​最熱門的查詢,我也發現了類似的內容:

https://chartio.com/learn/amazon-redshift/identifying-slow-queries-in-redshift/

但是我想知道是否有一個查詢與上述查詢類似,但除了執行時間外還顯示隊列/等待時間?

從這篇文章:

如何通過查詢獲得redshift中查詢的總運行時間?

我收集到stl_query表包括執行時間+等待時間,但是stl_wlm_query包括total_exec_time,這只是執行時間。

更新:我有以下內容可以滿足我的要求,但似乎只返回上個月左右的數據,對我如何獲得舊數據有任何想法嗎?

    SELECT
w.userid,
w.query,
w.service_class_start_time AS "Day",
w.total_queue_time / 60000000 AS "Total Queue Time Minutes",
w.total_exec_time / 60000000 AS "Total Exec Time Minutes",
w.total_queue_time / 60000000 + w.total_exec_time / 60000000 AS "Total Time  Minutes"
FROM
stl_wlm_query w
ORDER BY
6 DESC

該查詢正在使用stl_wlm_query表。

用於日志記錄的STL表-Amazon Redshift

為了管理磁盤空間,STL日志表僅保留大約兩到五天的日志歷史記錄 ,具體取決於日志使用情況和可用磁盤空間。 如果要保留日志數據,則需要定期將其復制到其他表或將其卸載到Amazon S3。

下面的查詢將按執行時間列出最熱門的查詢,但正如John上面提到的,只會返回兩到五天的日志歷史記錄。

SELECT
w.userid,
w.query,
w.service_class_start_time AS "Day",
w.total_queue_time / 60000000 AS "Total Queue Time Minutes",
w.total_exec_time / 60000000 AS "Total Exec Time Minutes",
w.total_queue_time / 60000000 + w.total_exec_time / 60000000 AS "Total Time  Minutes"
FROM
stl_wlm_query w
ORDER BY
6 DESC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM