[英]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/
但是我想知道是否有一個查詢與上述查詢類似,但除了執行時間外還顯示隊列/等待時間?
從這篇文章:
我收集到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.