我希望将Redshift中的慢查询(例如,> 3s)报告给外部监控服务。
是否存在发现慢查询的机器友好方式(即不是Web UI)?例如,Mongo提供了一个慢查询集合,MySQL提供了一个慢查询日志。亚马逊是否提供类似的东西?
答案 0 :(得分:0)
--Queries longer than N seconds in last 1 hour
SELECT u.usename
, q.database
, q.query
, q.querytxt
, DATEDIFF(second, q.starttime, q.endtime) run_time
FROM stl_query q
JOIN pg_user u
ON q.userid = u.usesysid
WHERE database = 'production'
AND DATEDIFF(second, starttime, endtime) > 100
AND starttime BETWEEN ( SYSDATE - INTERVAL '1 hour' )
--'2016-03-10 13:10:16.270964'
AND ( SYSDATE )
--'2016-03-10 14:10:16.270964'
;
我认为3秒对于阈值来说太低了,但YMMV。