課程簡介
課程內(nèi)容:數(shù)據(jù)庫性能評價指標(biāo),數(shù)據(jù)庫性能相關(guān)的因素,數(shù)據(jù)處理原理,分析當(dāng)前的數(shù)據(jù)庫,數(shù)據(jù)庫邏輯設(shè)計與性能優(yōu)化,物理設(shè)計與性能優(yōu)化,優(yōu)化數(shù)據(jù)訪問性能等內(nèi)容
本課程闡述性能調(diào)優(yōu)方法論,不僅僅結(jié)合案例講述調(diào)優(yōu)的方法,并且會將原理性內(nèi)容闡述清楚,讓您不僅僅明白How,而且明白Why。
目標(biāo)收益
課程中的理論和經(jīng)驗來自于在SQLServer顧問過程中實(shí)際經(jīng)驗的總結(jié)升華,結(jié)合實(shí)際案例,不僅僅講述如何進(jìn)行調(diào)優(yōu),還闡述調(diào)優(yōu)背后的原理,在課程結(jié)束后,在課程中所學(xué)到的原理、方法、工具能立刻應(yīng)用于生產(chǎn)環(huán)境從而帶來價值。
培訓(xùn)對象
軟件設(shè)計師、程序員、數(shù)據(jù)庫管理員。對于數(shù)據(jù)庫調(diào)優(yōu)疑問和問題,需要梳理解答的團(tuán)隊和個人,效果最佳。
課程大綱
SQLServer體系結(jié)構(gòu) |
內(nèi)容一:典型數(shù)據(jù)庫的運(yùn)行原理 1.數(shù)據(jù)庫思維與程序開發(fā)思維的差異 2.SQLServer整體架構(gòu) 3.內(nèi)存分配與管理 4.日志管理 5.事務(wù)管理 6.緩存與頁面切換 7.SQL查詢執(zhí)行原理 8.相關(guān)配置參數(shù) 內(nèi)容二:IO管理 1.I/O基礎(chǔ) 2.什么是I/O子系統(tǒng) 3.理解SQLServerI/O模式 4.存儲類型 內(nèi)容三:索引的原理與維護(hù) 1.索引的定義 2.索引的結(jié)構(gòu)、填充因子 3.聚集索引和非聚集索引 4.唯一索引和包含列索引 5.過濾索引 6.索引視圖 7.索引碎片整理以及索引重建 8.刪除從未使用過的索引 9.創(chuàng)建更合適的索引 |
數(shù)據(jù)庫設(shè)計 |
內(nèi)容四:數(shù)據(jù)庫設(shè)計方法與原則 1.需求分析 2.模塊化設(shè)計 3.什么是三范式 4.對象命名規(guī)范 5.設(shè)計出數(shù)據(jù)庫、表、視圖和其他數(shù)據(jù)庫對象 6.數(shù)據(jù)的一致性原則 7.使用數(shù)據(jù)庫設(shè)計工具 8.設(shè)計之前考慮性能問題 內(nèi)容五:如何設(shè)計優(yōu)秀的數(shù)據(jù)庫 1.數(shù)據(jù)類型的選擇 2.數(shù)據(jù)庫邏輯設(shè)計和物理設(shè)計的規(guī)范化 3.合理的冗余 4.主鍵的設(shè)計 5.外鍵的設(shè)計 6.字段的設(shè)計 7.數(shù)據(jù)庫物理存儲和環(huán)境的設(shè)計 8.系統(tǒng)設(shè)計 9.索引的設(shè)計 |
SQLServer性能調(diào)優(yōu) |
內(nèi)容六:讀懂執(zhí)行計劃 1.執(zhí)行計劃的捕捉 2.讀懂執(zhí)行計劃 3.邏輯執(zhí)行計劃與物理執(zhí)行計劃 4.執(zhí)行計劃的分類 5.掃描和查找類操作 6.連接類操作 7.Spools類操作 內(nèi)容七:SQL語句的改進(jìn) 1.只返回需要的數(shù)據(jù) 2.盡量少做重復(fù)的工作 3.注意事務(wù)和鎖 4.注意臨時表和表變量的用法 5.子查詢的用法 6.慎用游標(biāo) 7.盡量使用索引 8.注意連接條件的寫法 9.其他需要注意的地方 內(nèi)容八:系統(tǒng)調(diào)優(yōu) 1.TempDB的角色以及調(diào)優(yōu) 2.定期轉(zhuǎn)移不需要的歷史數(shù)據(jù) 3.解決死鎖和阻塞 4.多表JOIN考慮臨時表 內(nèi)容九:事務(wù)和鎖的基本概念 1.隔離等級的概念 2.高峰的并發(fā)訪問 3.大數(shù)據(jù)量的聯(lián)合查詢和統(tǒng)計 4.長事務(wù)處理 5.大數(shù)據(jù)容量的數(shù)據(jù)操作(查詢,更新,修改,刪除)性能 內(nèi)容十:性能調(diào)優(yōu)方法論 1.性能的關(guān)鍵概念 2.影響SQLServer性能的因素 3.是否存在資源瓶頸 4.分析數(shù)據(jù)庫正在發(fā)生的事情 5.分析數(shù)據(jù)庫已經(jīng)發(fā)生的事情 6.調(diào)優(yōu)成本高昂的查詢語句 7.SQLServer性能調(diào)優(yōu)工具與服務(wù)端跟蹤 內(nèi)容十一:常見性能模式 1.整體問題模式 2.IO問題模式 3.并發(fā)問題模式 4.內(nèi)存問題相關(guān)模式 5.TempDB問題模式 6.CPU問題模式 7.應(yīng)用程序設(shè)計相關(guān)模式 8.執(zhí)行計劃質(zhì)量相關(guān)模式 |
SQLServer體系結(jié)構(gòu) 內(nèi)容一:典型數(shù)據(jù)庫的運(yùn)行原理 1.數(shù)據(jù)庫思維與程序開發(fā)思維的差異 2.SQLServer整體架構(gòu) 3.內(nèi)存分配與管理 4.日志管理 5.事務(wù)管理 6.緩存與頁面切換 7.SQL查詢執(zhí)行原理 8.相關(guān)配置參數(shù) 內(nèi)容二:IO管理 1.I/O基礎(chǔ) 2.什么是I/O子系統(tǒng) 3.理解SQLServerI/O模式 4.存儲類型 內(nèi)容三:索引的原理與維護(hù) 1.索引的定義 2.索引的結(jié)構(gòu)、填充因子 3.聚集索引和非聚集索引 4.唯一索引和包含列索引 5.過濾索引 6.索引視圖 7.索引碎片整理以及索引重建 8.刪除從未使用過的索引 9.創(chuàng)建更合適的索引 |
數(shù)據(jù)庫設(shè)計 內(nèi)容四:數(shù)據(jù)庫設(shè)計方法與原則 1.需求分析 2.模塊化設(shè)計 3.什么是三范式 4.對象命名規(guī)范 5.設(shè)計出數(shù)據(jù)庫、表、視圖和其他數(shù)據(jù)庫對象 6.數(shù)據(jù)的一致性原則 7.使用數(shù)據(jù)庫設(shè)計工具 8.設(shè)計之前考慮性能問題 內(nèi)容五:如何設(shè)計優(yōu)秀的數(shù)據(jù)庫 1.數(shù)據(jù)類型的選擇 2.數(shù)據(jù)庫邏輯設(shè)計和物理設(shè)計的規(guī)范化 3.合理的冗余 4.主鍵的設(shè)計 5.外鍵的設(shè)計 6.字段的設(shè)計 7.數(shù)據(jù)庫物理存儲和環(huán)境的設(shè)計 8.系統(tǒng)設(shè)計 9.索引的設(shè)計 |
SQLServer性能調(diào)優(yōu) 內(nèi)容六:讀懂執(zhí)行計劃 1.執(zhí)行計劃的捕捉 2.讀懂執(zhí)行計劃 3.邏輯執(zhí)行計劃與物理執(zhí)行計劃 4.執(zhí)行計劃的分類 5.掃描和查找類操作 6.連接類操作 7.Spools類操作 內(nèi)容七:SQL語句的改進(jìn) 1.只返回需要的數(shù)據(jù) 2.盡量少做重復(fù)的工作 3.注意事務(wù)和鎖 4.注意臨時表和表變量的用法 5.子查詢的用法 6.慎用游標(biāo) 7.盡量使用索引 8.注意連接條件的寫法 9.其他需要注意的地方 內(nèi)容八:系統(tǒng)調(diào)優(yōu) 1.TempDB的角色以及調(diào)優(yōu) 2.定期轉(zhuǎn)移不需要的歷史數(shù)據(jù) 3.解決死鎖和阻塞 4.多表JOIN考慮臨時表 內(nèi)容九:事務(wù)和鎖的基本概念 1.隔離等級的概念 2.高峰的并發(fā)訪問 3.大數(shù)據(jù)量的聯(lián)合查詢和統(tǒng)計 4.長事務(wù)處理 5.大數(shù)據(jù)容量的數(shù)據(jù)操作(查詢,更新,修改,刪除)性能 內(nèi)容十:性能調(diào)優(yōu)方法論 1.性能的關(guān)鍵概念 2.影響SQLServer性能的因素 3.是否存在資源瓶頸 4.分析數(shù)據(jù)庫正在發(fā)生的事情 5.分析數(shù)據(jù)庫已經(jīng)發(fā)生的事情 6.調(diào)優(yōu)成本高昂的查詢語句 7.SQLServer性能調(diào)優(yōu)工具與服務(wù)端跟蹤 內(nèi)容十一:常見性能模式 1.整體問題模式 2.IO問題模式 3.并發(fā)問題模式 4.內(nèi)存問題相關(guān)模式 5.TempDB問題模式 6.CPU問題模式 7.應(yīng)用程序設(shè)計相關(guān)模式 8.執(zhí)行計劃質(zhì)量相關(guān)模式 |