Pev Postgres的視覺化工具

2021-08-19 13:01:39 字數 1088 閱讀 8592

原文:[postgres query plan visualization](

翻譯:vincent

譯者注:postgres的explain檢視執行計畫已經非常的直觀、全面,不過有人更鍾情於圖形化的展示,本文作者就介紹了這樣乙個專案,以圖形化的方式幫助使用者檢視查詢計畫。以下為譯文。

最近做了一次對查詢的優化之後,我發現了一種更好的方式來檢視由explain生成的查詢計畫。因此,我最終決定需要做些什麼,結果就是postgres explain visualizer工具(或者叫pev):

我想要一款能讓使用者很輕鬆的就可以理解查詢計畫變工具,而且能讓使用者看上去很直觀。說的再具體一點,就是我想要:

讓我們看看pev是如何實現這些要求的。我將使用下面插圖中的查詢語句生成的計畫(作為對比結果,你可以在dellstore2 資料庫執行這個查詢語句):

我注意到pev只使用json格式的解釋計畫。使用以下**就可以滿足要求了:

首先,pev使用了經典的樹狀圖從而將查詢計畫以視覺化的方式展現出來。我發現這比pgadmin使用的從左到右的樹狀圖更容易檢視。

預設情況下,每個節點都顯示其型別以及相關的詳細資訊(比如正在掃瞄的物件或連線條件)、持續時間和關鍵資訊(比如該節點是否為某種型別的異常):

說到客戶獲取的資訊量,pev目前正在計算以下兩個因素:

pev還允許進行各種定製,比如顯示計畫者的估算細節,用圖表來展示行、持續時間或成本:

如果使用者想要看到所有postgres節點的所有內容,只需單擊標題獲得擴充套件檢視即可:

使用這些定製化功能(在左邊的設定選單中可用),使用者可以很容易地建立各種圖形,比如下面這個圖形就顯示了每個節點的執行速度有多快:

我個人覺得很難將我所看到的這個計畫對映到生成它的查詢。通過在節點旁邊顯示查詢,並在可能的地方突出顯示相關部分,pev可以幫助您實現這一點。只需單擊該節點內的藍色資料庫圖示:

我必須承認,在這一點上,突出查詢的相關部分是非常基本的,但我希望它在將來能夠得到改進。

explain.depesz.com是乙個非常優秀的**,而且它對pev產生了很重大的影響。我就是在使用該**以及閱讀該**幫助文件的過程中學到了很多關於postgres計畫是如何工作的原理。

資料視覺化 什麼是資料視覺化

資料對應的英文單詞是data,從資訊獲取的角度看,資料是對目標觀察和記錄的結果,是現實世界中的時間 地點 事件 其他物件或概念的描述。不同學者對資料的作用也給出不同的定義,大致分為以下3類 視覺化對應的兩個英文單詞 visualize和visualization。visualize是動詞,描述 生成...

視覺化建模

中科永聯高階技術培訓中心 www.itisedu.com 視覺化建模 visual modeling 是利用圍繞現實想法組織模型的一種思考問題的方法。模型對於了解問題 與專案相關的每個人 客戶 行業專家 分析師 設計者等 溝通 模仿企業流程 準備文件 設計程式和資料庫來說都是有用的。建模促進了對需求...

卷積視覺化

影象卷積操作的應用沒有嚴格的數學推導,即沒有數學推導表明每一層究竟表示什麼。為了了解卷積神經網路中每一層與原有影象的對應關係,文章visualizing and understanding convolutional networks通過反向卷積的方式實現了該過程。那具體如何操作的呢?得到的h1與真...