人
已閱讀
已閱讀
APP開發人員必須掌握的數據庫優化技能
來源:lexintech.com ?? ?? 發布時間:2019-05-17
在一個APP開發項目中,數據庫設計和開發是相當重要的工作。對于一個數據庫開發人員來說,數據庫中最難以理解的模塊,就是優化器。
作為APP開發團隊中的數據庫開發人員,如果對優化器不夠了解,那他在對數據庫數據庫調優的過程中就會很難做好。從對優化器的掌握程度上來判斷,數據庫開發人員對優化器的理解大致可以分成以下幾個層次。
一:粗淺了解,比如知道優化器分為邏輯優化和物理優化,了解一些邏輯優化的方法,知道執行計劃的來源,能看懂優化器產生的執行計劃。
二:詳細了解,在粗淺了解的基礎上,能夠根據自己對優化器的了解,調整出優化器“喜愛”的 SQL 語句,并且對于產生的執行計劃的優劣一目了然,知其然更知其所以然。
三:深度了解,需要對優化器的每個細節有清楚的認知,在我們寫出一個 SQL 語句之后,可以庖丁解牛式地在腦海中浮現出語句在優化器中的優化過程,清楚地知道每個細節的實現過程。
要想達到層次一只需要閱讀一些基礎理論即可,通常,數據庫初學者對優化器的了解都處于這個層次,但這種了解對于實際應用的意義不大。而要想達到層次三則需要細致地解讀優化器的源代碼,雖然作為數據庫專家是必須要掌握到這一層的,但這個過程又過于“艱辛”。
而大多數數據庫從業人員游走在兩者之間,大家的目標無非是在數據庫調優過程中手到擒來地使用優化器查詢,也就是這里的層次二。
那么,有沒有辦法在不分析數據庫內核源代碼的情況下,從數據庫使用者的角度出發,結合外在的系統表信息、參數信息、執行計劃信息反向把優化器的原理講清楚,從而確保大家進階到層次二,掌握優秀的數據庫開發人員必備的核心技能優化器呢?
答案是肯定的,通過深入的挖掘數據庫的元數據、參數、執行計劃,再結合數據庫優化器的相關理論,一定能把優化器的實現說清楚。
- 上一篇:ToB產品和ToC產品之間的差別
- 下一篇:APP產品設計關于刪除操作的處理