openGauss學習筆記-144 openGauss 數據庫運維-例行維護-慢sql診斷

文章目錄

    • openGauss學習筆記-144 openGauss 數據庫運維-例行維護-慢sql診斷
      • 144.1 背景信息
      • 144.2 前提條件

openGauss學習筆記-144 openGauss 數據庫運維-例行維護-慢sql診斷

144.1 背景信息

在SQL語句執行性能不符合預期時,可以查看SQL語句執行信息,便于事后分析SQL語句執行時的行為,從而診斷SQL語句執行出現的相關問題。

144.2 前提條件

  • 數據庫實例運行正常。
  • 查詢SQL語句信息,需要合理設置GUC參數track_stmt_stat_level。track_stmt_stat_level參數控制語句執行跟蹤的級別,第一部分控制全量SQL,第二部分控制慢SQL。對于慢SQL,當track_stmt_stat_level的值為非OFF時,且SQL執行時間超過log_min_duration_statement,會記錄為慢SQL。默認值為"OFF,L0",建議設置為"L0,L0"。
  • 只能用系統管理員和監控管理員權限進行操作。
執行命令查看數據庫實例中SQL語句執行信息
select * from dbe_perf.get_global_full_sql_by_timestamp(start_timestamp, end_timestamp); 
例如:
select * from DBE_PERF.get_global_full_sql_by_timestamp('2020-12-01 09:25:22', '2020-12-31 23:54:41');
-[ RECORD 1 ]--------+---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------
node_name            | dn_6001_6002_6003
db_name              | postgres
schema_name          | "$user",public
origin_node          | 1938253334
user_name            | user_dj
application_name     | gsql
client_addr          |
client_port          | -1
unique_query_id      | 3671179229
debug_query_id       | 72339069014839210
query                | select name, setting from pg_settings where name in (?)
start_time           | 2020-12-19 16:19:51.216818+08
finish_time          | 2020-12-19 16:19:51.224513+08
slow_sql_threshold   | 1800000000
transaction_id       | 0
thread_id            | 139884662093568
session_id           | 139884662093568
n_soft_parse         | 0
n_hard_parse         | 1
query_plan           | Datanode Name: dn_6001_6002_6003| Function Scan on pg_show_all_settings a  (cost=0.00..12.50 rows=5 width=64)|   Filter: (name = '***'::text)
...執行命令查看數據庫實例中慢SQL語句執行信息
select * from dbe_perf.get_global_slow_sql_by_timestamp(start_timestamp, end_timestamp);
例如:
select * from DBE_PERF.get_global_slow_sql_by_timestamp('2020-12-01 09:25:22', '2020-12-31 23:54:41');
-[ RECORD 1 ]--------+---------------------------------------------------------------------------------------------------
node_name            | dn_6001_6002_6003
db_name              | postgres
schema_name          | "$user",public
origin_node          | 1938253334
user_name            | user_dj
application_name     | gsql
client_addr          |
client_port          | -1
unique_query_id      | 2165004317
debug_query_id       | 72339069014839319
query                | select * from DBE_PERF.get_global_slow_sql_by_timestamp(?, ?);
start_time           | 2020-12-19 16:23:20.738491+08
finish_time          | 2020-12-19 16:23:20.773714+08
slow_sql_threshold   | 10000
transaction_id       | 0
thread_id            | 139884662093568
session_id           | 139884662093568
n_soft_parse         | 10
n_hard_parse         | 8
query_plan           | Datanode Name: dn_6001_6002_6003| Result  (cost=1.01..1.02 rows=1 width=0)|   InitPlan 1 (returns $0)|     ->  Seq Scan on pgxc_node  (cost=0.00..1.01 rows=1 width=64)|           Filter: (nodeis_active AND ((node_type = '***'::"char") OR (node_type = '***'::"char")))
...查看當前主節點SQL語句執行信息
select * from statement_history;
例如:
select * from statement_history;
-[ RECORD 1 ]--------+---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------
db_name              | postgres
schema_name          | "$user",public
origin_node          | 1938253334
user_name            | user_dj
application_name     | gsql
client_addr          |
client_port          | -1
unique_query_id      | 3671179229
debug_query_id       | 72339069014839210
query                | select name, setting from pg_settings where name in (?)
start_time           | 2020-12-19 16:19:51.216818+08
finish_time          | 2020-12-19 16:19:51.224513+08
slow_sql_threshold   | 1800000000
transaction_id       | 0
thread_id            | 139884662093568
session_id           | 139884662093568
n_soft_parse         | 0
n_hard_parse         | 1
query_plan           | Datanode Name: dn_6001_6002_6003| Function Scan on pg_show_all_settings a  (cost=0.00..12.50 rows=5 width=64)|   Filter: (name = '***'::text)
...查看當前備節點SQL語句執行信息
select * from dbe_perf.standby_statement_history(is_only_slow, start_timestamp, end_timestamp);
例如:
select * from dbe_perf.standby_statement_history(true, '2022-08-01 09:25:22', '2022-08-31 23:54:41');
db_name              | postgres
schema_name          | "$user",public
origin_node          | 0
user_name            | user_dj
application_name     | gsql
client_addr          |
client_port          | -1
unique_query_id      | 1660376009
debug_query_id       | 281474976710740
query                | select name, setting from pg_settings where name in (?)
start_time           | 2022-08-19 16:19:51.216818+08
finish_time          | 2022-08-19 16:19:51.224513+08
slow_sql_threshold   | 1800000000
transaction_id       | 0
thread_id            | 140058747205376
session_id           | 140058747205376
n_soft_parse         | 0
n_hard_parse         | 1
query_plan           | Datanode Name: sgnode| Function Scan on pg_show_all_settings a  (cost=0.00..12.50 rows=5 width=64)|   Filter: (name = '***'::text)
...

👍 點贊,你的認可是我創作的動力!

?? 收藏,你的青睞是我努力的方向!

?? 評論,你的意見是我進步的財富!

圖片

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209631.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209631.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209631.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

文章解讀與仿真程序復現思路——中國電機工程學報EI\CSCD\北大核心《考慮垃圾處理與調峰需求的可持續化城市多能源系統規劃》

這個標題涵蓋了城市多能源系統規劃中的兩個重要方面:垃圾處理和調峰需求,并強調了規劃的可持續性。 考慮垃圾處理: 含義: 垃圾處理指的是城市廢棄物的管理和處置。這可能涉及到廢物分類、回收利用、焚燒或填埋等方法。重要性&…

GIS入門,Leaflet介紹,Leaflet可以做什么,網頁中如何使用Leaflet地圖,vue中如何使用Leaflet地圖

VueLeafLet教程推薦:《VueLeaflet入門》 Leaflet介紹 Leaflet是一個開源的JavaScript庫,用于創建交互式的地圖和地圖應用。Leaflet框架具有輕量級、靈活性強、易于使用和擴展等特點,支持各種地圖服務商(如OpenStreetMap、Google…

前端知識筆記(三十八)———HTTPS:保護網絡通信安全的關鍵

當談到網絡通信和數據傳輸時,安全性是一個至關重要的問題。在互聯網上,有許多敏感信息需要通過網絡進行傳輸,例如個人身份信息、銀行賬戶信息和商業機密等。為了保護這些信息不被未經授權的人訪問和篡改,HTTPS(超文本傳…

【開源】基于Vue+SpringBoot的河南軟件客服系統

文末獲取源碼,項目編號: S 067 。 \color{red}{文末獲取源碼,項目編號:S067。} 文末獲取源碼,項目編號:S067。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 系統管理人員2.2 業務操作人員 三、…

搞懂內存函數

引言 本文介紹memcpy的使用和模擬實現、memmove的使用和模擬實現、memcmp使用、memset使用 ? 豬巴戒:個人主頁? 所屬專欄:《C語言進階》 🎈跟著豬巴戒,一起學習C語言🎈 目錄 引言 memcpy memcpy的使用 memcpy的…

JS加密/解密之HOOK實戰2

上一篇文章介紹了HOOK常規的應用場景,這篇我們講一下HOOK其他原生函數。又是一個新的其他思路 很多時候,當我們想要某些網站的請求參數的時候,因為某些加密導致了獲取起來很復雜。 這時候hook就十分方便了 源代碼 var _JSON_Parse JSON.…

scp 指令詳細介紹

目錄 1. 基本語法 2. 例子 從本地到遠程 從遠程到本地 從遠程到遠程 使用端口和指定私鑰 遞歸復制目錄 3. 注意事項 如何拷貝文件的軟鏈接 SCP(Secure Copy Protocol)是一種用于在計算機之間安全地傳輸文件的協議。它通過加密的方式在網絡上安全…

Vue:Vue的開發者工具不顯示Vue實例中的data數據

一、情況描述 代碼: 頁面: 可以看到,input獲取到了data數據,但是,vue-devtool沒有獲取到data數據 二、解決辦法 解決辦法1: data.name的值不能全是中文,比如改成aa尚硅谷 解決辦法2&…

C語言 編程題

C語言學習! 1.小明上課需要走n階臺階,他每次可以選擇走一階或者走兩階,他一共有多少種走法? 輸入描述:輸入包含一個整數n(1 ≤ n ≤30) 輸出描述:輸出一個整數,即小明可…

LeetCode 1457. 二叉樹中的偽回文路徑||位運算 DFS

1457. 二叉樹中的偽回文路徑 給你一棵二叉樹,每個節點的值為 1 到 9 。我們稱二叉樹中的一條路徑是 「偽回文」的,當它滿足:路徑經過的所有節點值的排列中,存在一個回文序列。 請你返回從根到葉子節點的所有路徑中 偽回文 路徑的…

Golang優雅實現按比例切分流量

我們在進行灰度發布時,往往需要轉發一部分流量到新上線的服務上,進行小規模的驗證,隨著功能的不斷完善,我們也會逐漸增加轉發的流量,這就需要按比例去切分流量,那么如何實現流量切分呢? 我們很容…

力扣(LeetCode)-1. 兩數之和

給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標值 target 的那 兩個 整數,并返回它們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,數組中同一個元素在答案里不能重復出現。 你可以按任意順序返回…

【交流】PHP生成唯一邀請碼

目錄 前言: 1.隨機生成,核對user表是否已存在 代碼: 解析: 缺點: 2.建表建庫,每次從表中隨機抽取一條,用完時擴充 表結構 表視圖 代碼 解析 缺點 結論: 前言: …

LinuxBasicsForHackers筆記 -- 壓縮和歸檔

壓縮分為有損或無損。有損壓縮對于減小文件大小非常有效,但會丟失信息的完整性。換句話說,壓縮后的文件與原始文件并不完全相同。 這種類型的壓縮非常適合圖形、視頻和音頻文件,文件中的微小差異幾乎不會被注意到。 本章重點介紹這種無損壓縮…

解讀Stable Video Diffusion:詳細解讀視頻生成任務中的數據清理技術

Diffusion Models視頻生成-博客匯總 前言:Stable Video Diffusion已經開源一周多了,技術報告《Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets》對數據清洗的部分描述非常詳細,雖然沒有開源源代碼,但是博主正在嘗試復現其中的操作。這篇…

醫學影像PACS信息化數字平臺源碼

PACS系統對醫院影像科意義重大,將業務量巨大的影像檢驗流程依托于信息化技術,對于進行信息化建設的醫院而言,是十分必要的。 PACS系統源碼,集成三維影像后處理功能,包括三維多平面重建、三維容積重建、三維表面重建、三…

包裝類, 泛型---java

目錄 一. 包裝類 1.1 基本數據類型和對應的包裝類 1.2 裝箱和拆箱 二. 泛型 2.1什么是泛型 2.2泛型的引入 2.3 泛型類語法 2.4 泛型類的使用 2.5 裸類型(Raw Type)(了解) 2.6 泛型是如何編譯的 2.7 泛型的上界 2.8 泛型方法 一. 包裝類 在 Java 中,由于基本…

uniapp實戰 —— 豎排多級分類展示

效果預覽 完整范例代碼 頁面 src\pages\category\category.vue <script setup lang"ts"> import { getCategoryTopAPI } from /apis/category import type { CategoryTopItem } from /types/category import { onLoad } from dcloudio/uni-app import { compu…

vue指令

v-text 更新元素的 textContent。如果要更新部分的 textContent&#xff0c;需要使用 {{ Mustache }} 插值。 <span v-text"msg"></span> <!-- 和下面的一樣 --> <span>{{msg}}</span>v-html 更新元素的 innerHTML。注意&#xff1a;內…

基于高通MSM8953平臺android9.0的GPIO驅動開發

2.1、注冊設備&#xff1a; 2.1.1、添加編譯選項&#xff1a; 1&#xff09;、修改kernel/msm-4.9/drivers/leds下Makefile文件&#xff1a; obj-$(CONFIG_LED_GPIO) led_gpio.o 2&#xff09;、修改kernel/msm-4.9/drivers/leds下Kconfig文件&#xff1a; config LED_GPIO…