資料庫管理
眾多顧客已親身體驗恆逸的好,並成功提升專業競爭力,你也可以!
來看看他們是如何學習、如何努力考取認證的經驗分享多汲取他人的寶貴經驗,將讓您的未來進修之路走得更有效率!快來看看恆逸應援團怎麼說!
來看看他們是如何學習、如何努力考取認證的經驗分享多汲取他人的寶貴經驗,將讓您的未來進修之路走得更有效率!快來看看恆逸應援團怎麼說!
我的職務內容是交易系統的維運,由於公司資料庫選用的是微軟SQL Server,因此DB維運、交易資料或是批次處理皆是透過微軟SQL Server Developer在進行。
為了能在日常工作中排除各種DB上造成的故障以及能更加熟悉微軟SQL Server Developer,因此選擇報名了此次『開發微軟SQL Server 2019與2022資料庫』的課程,開啟了人生第一次的恆逸外訓課程之旅。
先說結論,我覺得老師教得還蠻不錯的,也提供了相當多的案例解析如何處理問題。起初看到課程名稱和介紹時以為教的只會是比較簡單的內容,例如:講一些基礎的DB理論+如何寫SQL語法做查詢與新增、刪除、修改+一些簡單的練習,總之腦中浮現的課程僅僅是這樣想像,但還是懷著也許可以獲得意料之外的寶藏的心情踏進了教室,想不到光是翻開書本目錄的那一刻我就知道,這門課我應該是來對!
課程大綱上所寫第五章、第六章以及第七章正是我所期待的內容:「索引」與「優化索引的策略」,光是看到這兩個大大的標題就使得我兩眼發光期待著老師講解到這兒。因為這正是所有大型資料庫痛點的解決指南,雖然我本身也懂資料查詢龐大的資料時帶來的效能負擔可以用「索引index」做疑難雜症上的解決,但很多時候都是向公司的DBA求助有沒有什麼適合的索引優化方式,可以解決我們日益增長的資料在查詢甚至執行批次上時間逐漸被拉長的效能。
針對這個議題老師也不負眾望的花了約兩天的時間向在座的同學介紹與指導,老師並非僅僅是照本宣科的說明書本上的內容,而是帶著學生們從「如何看懂SQL語法執行後的執行計畫」開始深入探討。如何看懂執行計畫確實幫到了我很多,在我日常的工作中上PROD都是要跑流程才能過版的,其中只要是遇到要過版stored procedure的時候總是會要我們繳交效能分析的文件,這我之前都是按下MSSQL上的效能分析截下畫面後就繳交出去了,從來沒有去想過它那些圖表產生後的意義以及要怎麼看懂它,經過老師的介紹算是讓我對如何看「執行計畫」有了初步的認識。
老師搭配執行計畫開始介紹如何在什麼情況建立INDX時,更是讓我瞭解了原來執行計畫是可以有目標導向的去優化的(如:以INDX SEEK為目標的改善語法或建立索引),同時也學習到了微軟SQL Server本身就自帶的一些INDEX語法產生功能與優化功能,老師帶的案例也很容易讓人理解,比如遇到怎樣的WHERE條件時要怎麼去建立INDEX才能達到最大的效益,在過程中老師也會不斷的叮囑「用空間換時間本身也是有弱點存在的,因此我不會只說建立INDX的好,我也會把它可能會帶來的其他壞處一併說明清楚」,因此除了好的案例外,老師也講解了許多建立INDEX可能無法達到效果的無效範例。這次的課程唯一可惜的就是時間有限要教的內容也很多,老師沒有辦法把所有時間都投注在「索引」的教學上。但五天的課程,光是這兩天就讓我收穫滿滿,還是讓人覺得十分的值得。
由於交易系統經年累月的運作,使得客戶數與交易量都有所成長,資料庫的資料量也隨之日益龐大。目前有透過老師於課程中提到的「使用MSSQL Developer中提供的INDEX建議建立方式以及執行計畫」找到優化資料查詢時的策略來達到提升查詢速度的效益。
雖然還需要更深入的學習才能排除更多故障,但上完恆逸『開發微軟SQL Server 2019與2022資料庫』的這門課,讓我腦中能閃過一些解決方式而不是呈現空轉模式,是一件非常值得的事情!