GreenPlum 查詢SQL 峰值查詢

2021-10-23 07:18:46 字數 1662 閱讀 1649

如何查詢出每5分鐘每個使用者分別提交了多少個sql?這些資料是基於gpperfmon  的資料來分析的。

通過本文主要是需要 1、鞏固shell基礎知識,shell指令碼規範

2、psql 傳參

-- usrsqlcnt 峰值尋找

-- 使用方法:1、執行如下指令碼

#!/bin/bash

# @date 2023年5月18日13:49:16

# @author ninesun

# @desc

# 1. sur sqlcnt analye

# 2. insert to table

# 3、@para t1 t2

#su - gpadmin <> usrsqlcnt.txt;

#exit;

#eof

if [ $# == 2 ]; then

datebeg=$1

dateend=$2

else

echo "plese input start && end time,eg '2020-05-18 09:00:00' '2020-05-18 09:20:00' "

exit 1

fiexport_start_date=$1

export_end_date=$2

i=$export_start_date

while [[ $i < `date -d "+5 mins $export_end_date" '+%y-%m-%d %h:%m:%s'` ]]

doecho "start: $i"

echo "end: `date -d "+5 mins $i" '+%y-%m-%d %h:%m:%s'`"

su - gpadmin <= :t1

and ctime <= :t2

--and username = 'edaapu1_array'

-- and rsqname = 'edaapu'

and rsqname <> ''

group by username

)t-- 建表語句

drop table usrsqlcnt

start_time | end_time | username | sqlqty | db_timestamp

create table "public".usrsqlcnt(start_time timestamp( 0 ) without time zone,end_time timestamp( 0 ) without time zone,

usrname character varying( 100 ),

sqlqty character varying( 100 ),db_timestamp timestamp( 0 ) without time zone,

constraint usrsqlcnt_pkey primary key (start_time,end_time,usrname))

distributed by( start_time )

truncate table usrsqlcnt

select * from gpperfmon.public.usrsqlcnt order by sqlqty desc

sql查詢慢 查詢

select creation time n 語句編譯時間 last execution time n 上次執行時間 total physical reads n 物理讀取總次數 total logical reads execution count n 每次邏輯讀次數 total logical ...

sql鑲嵌查詢 SQL 查詢巢狀使用

示例表如下 create table it student id int primary key auto increment,主鍵id name varchar 20 姓名 gender enum male female 性別 class id tinyint unsigned,班級號 age i...

sql鑲嵌查詢 SQL巢狀查詢總結

it也有一段時間了,剛開始的時候 的困難主要是在程式語言上,陣列,邏輯,演算法,這些都過來了之後,困難就上公升到資料庫設計上了.以及資料邏輯.乙個優秀的系統,會整合優秀的程式和優秀的資料庫設計.要做到這點得有足夠的經驗.這是我寫的乙個結合uinon的巢狀查詢.將五個方面的報表放到乙個臨時表裡,再從臨...