數據庫從業人員的核心技能

如果搞一個投票來評選數據庫中最難以理解的模塊,那麼非優化器莫屬。

作爲數據庫從業者,如果對優化器不夠了解,便如同猛虎沒有了利爪,蒼鷹沒有了翅膀,在對數據庫數據庫調優的過程中往往心有餘而力不足。

從對優化器的掌握程度上來判斷,數據庫從業人員對優化器的理解大致可以分成以下 3 個層次。

層次一:粗淺瞭解,比如知道優化器分爲邏輯優化和物理優化,瞭解一些邏輯優化的方法,知道執行計劃的來源,能看懂優化器產生的執行計劃。

層次二:詳細瞭解,在粗淺瞭解的基礎上,能夠根據自己對優化器的瞭解,調整出優化器“喜愛”的 SQL 語句,並且對於產生的執行計劃的優劣一目瞭然,知其然更知其所以然。

層次三:深度瞭解,需要對優化器的每個細節有清楚的認知,在我們寫出一個 SQL 語句之後,可以庖丁解牛式地在腦海中浮現出語句在優化器中的優化過程,清楚地知道每個細節的實現過程。

要想達到層次一只需要閱讀一些基礎理論即可,通常,數據庫初學者對優化器的瞭解都處於這個層次,但這種瞭解對於實際應用的意義不大。

而要想達到層次三則需要細緻地解讀優化器的源代碼,雖然作爲數據庫專家是必須要掌握到這一層的,但這個過程又過於“艱辛”。

而大多數數據庫從業人員遊走在兩者之間,大家的目標無非是在數據庫調優過程中手到擒來地使用優化器查詢,也就是這裏的層次二。

那麼,有沒有辦法在不分析數據庫內核源代碼的情況下,從數據庫使用者的角度出發,結合外在的系統表信息、參數信息、執行計劃信息反向把優化器的原理講清楚,從而確保大家進階到層次二,掌握優秀的數據庫開發人員必備的核心技能優化器呢?

答案是肯定的,通過深入的挖掘數據庫的元數據、參數、執行計劃,再結合數據庫優化器的相關理論,一定能把優化器的實現說清楚。

然而,我們選擇哪種數據庫的優化器實現呢?

答案是 PostgreSQL 數據庫。

鄭州××× http://www.zzzykdfk.com/

鄭州×××醫院 http://myyk.familydoctor.com.cn/21523/

鄭州婦科醫院××× http://myyk.familydoctor.com.cn/21524/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章