Pev:Postgres的可視化工具
↗點擊上方「CSDN」關注我們
作者 | ALEX TATIYANTS 翻譯 | Vincent
譯者註:Postgres的EXPLAIN查看執行計劃已經非常的直觀、全面,不過有人更鐘情於圖形化的展示,本文作者就介紹了這樣一個項目,以圖形化的方式幫助用戶查看查詢計劃。
最近做了一次對查詢的優化之後,我發現了一種更好的方式來查看由EXPLAIN生成的查詢計劃。因此,我最終決定需要做些什麼,結果就是Postgres EXPLAIN Visualizer工具(或者叫Pev):
為什麼創造Pev
我想要一款能讓用戶很輕鬆的就可以理解查詢計劃變工具,而且能讓用戶看上去很直觀。說的再具體一點,就是我想要:
最小的視覺干擾
獲取更多的信息
可定製化程度較高
在查詢的上下文中執行計劃
讓我們看看Pev是如何實現這些要求的。我將使用下面插圖中的查詢語句生成的計劃(作為對比結果,你可以在dellstore2 資料庫執行這個查詢語句):
我注意到Pev只使用JSON格式的解釋計劃。使用以下代碼就可以滿足要求了:
節點可視化
首先,Pev使用了經典的樹狀圖從而將查詢計劃以可視化的方式展現出來。我發現這比PgAdmin使用的從左到右的樹狀圖更容易查看。
默認情況下,每個節點都顯示其類型以及相關的詳細信息(比如正在掃描的對象或連接條件)、持續時間和關鍵信息(比如該節點是否為某種類型的異常):
說到客戶獲取的信息量,Pev目前正在計算以下兩個因素:
異常值節點(最大、最慢、最昂貴)
有錯誤計劃估計的節點(計劃者可能會錯過100個或更多)
Pev還允許進行各種定製,比如顯示計劃者的估算細節,用圖表來展示行、持續時間或成本:
如果用戶想要看到所有Postgres節點的所有內容,只需單擊標題獲得擴展視圖即可:
使用這些定製化功能(在左邊的設置菜單中可用),用戶可以很容易地創建各種圖形,比如下面這個圖形就顯示了每個節點的運行速度有多快:
查詢顯示
我個人覺得很難將我所看到的這個計劃映射到生成它的查詢。通過在節點旁邊顯示查詢,並在可能的地方突出顯示相關部分,Pev可以幫助您實現這一點。只需單擊該節點內的藍色資料庫圖標:
我必須承認,在這一點上,突出查詢的相關部分是非常基本的,但我希望它在將來能夠得到改進。
explain.depesz.com是一個非常優秀的網站,而且它對Pev產生了很重大的影響。我就是在使用該網站以及閱讀該網站幫助文檔的過程中學到了很多關於Postgres計劃是如何工作的原理。
如果你正在使用Pev,請在twitter上面@alexTatiyants,讓我知道你有多喜歡它。如果你想讓它變得更好,代碼就在GitHub上,你可以做一點貢獻。


※Windows是如何把SQL Server引入到Linux的
※為什麼大型科技公司更會發生人員流失?企業文化的僵化及心累了
※日本理化學研究所先進智能研究中心主任杉山將:弱監督機器學習的研究進展
※25年、博士、C/C++程序員的告白:多年來代碼依然存在bug
※25年、博士、C/C 程序員的告白:多年來代碼依然存在bug
TAG:CSDN |
※HiddenLayer:可視化PyTorch、TensorFlow神經網路圖的輕量級工具!
※資源 | HiddenLayer:可視化PyTorch、TensorFlow神經網路圖的輕量級工具!
※卸載工具Wise Program Uninstaller,安卓X瀏覽器等等
※PowerGhost:集PowerShell和EternalBlue於一身的多功能挖礦工具
※Cytoscape:強大的pathway分析可視化工具
※blogfoster-scripts:一款簡化 Node.js 項目初始化的工具
※Tokenvator:使用Windows Token提升許可權的工具
※Nvidia 圖片風格轉換工具——FastPhotoStyle
※PicGo—基於 electron-vue 的炫酷圖床工具
※electron-toolKit:構建和啟動Electron應用的工具包
※利用 Jenkins Pipline 來編排 DevOps 工具鏈
※微軟買下性能分析工具Windows Performance Analyzer
※sqlite-utils:用於構建SQLite資料庫的Python庫和命令行工具
※Adobe推出更易用的視頻工具Project Rush
※對APT34泄露工具的分析——PoisonFrog和Glimpse
※StreetLight Data提供Traffic Diagnostics工具 優化城市交通擁堵及規劃方案
※場景文字圖像增廣工具 Scene Text Image Transformer
※Adobe為Premiere Rush CC引入視頻變速工具
※Salesforce開源構建Einstein AI模型的工具
※互動式數據可視化處理工具Microsoft Power BI簡介