天天看點

SQL Server 性能調優教育訓練引言

     大家好,這是我在部落格園寫的第一篇博文,之是以要開這個部落格,是我對MS SQL技術學習的一個興趣記錄。

     因為我覺得,很多東西隻有自己對别人講解一遍,才會加深自己的了解,順便提升自己。

     以下開始是我的學習材料分享,這個是第0篇,總論:

       在第1個月我們會通過讨論在SQL SERVER中的基本概念,建立SQL SERVER的基礎。在第一個月的4個星期裡我們會學到:

<a href="http://www.cnblogs.com/woodytu/p/4465649.html" target="_blank">第1周 SQL SERVER 如何執行一個查詢</a>

<a href="http://www.cnblogs.com/woodytu/p/4466915.html" target="_blank">第2周 頁_SQL Server 中資料存儲的基本機關</a>

<a href="http://www.cnblogs.com/woodytu/p/4467074.html" target="_blank">第3周 區_SQL Server中管理空間的基本機關</a>

<a href="http://www.cnblogs.com/woodytu/p/4467805.html" target="_blank">第4周 頁面限制8060 bytes</a>

        基于你已在第1個月學到的知識,第2個的一切都是關于SQL Server中的索引。有了好的索引戰略,你就可以獲得大幅度提速SQL Server工作。這4周我們會涵蓋(以下)細節。

<a href="http://www.cnblogs.com/woodytu/p/4469272.html" target="_blank">第5周 堆表</a>

第6周 聚集索引

第7周 非聚集索引

第8周 覆寫索引 解除安裝點(Tipping Point)

          當我們送出查詢給SQL Server,我們通過T-SQL語句隻告訴SQL Server我們要什麼。但在SQL Server内部卻是編譯成執行計劃。執行計劃是我們如何擷取我們需要資料的擷取戰略。如果你有性能問題,你就需要了解如何讀懂并調整生成的執行計劃。這4周你會學到關于執行計劃的下列内容。

第9周 了解執行計劃

第10周 計劃緩存

第11周 重編譯

第12周 并行執行計劃

        統計資訊是SQL Server資料庫裡最重要的部分,在生成執行計劃時,統計資訊使用來決定你的查詢裡多少列可以被傳回。如果你的統計資訊過期了,你會獲得來自SQL Server次佳的執行計劃。是以我們把一個月的時間緻力于統計資訊,隻有這樣你才可以對它們非常熟悉。這個月我們會談到:

第13周 為什麼統計資訊如此重要

第14周 直方圖與密度(The Histogram &amp; the Density Vector)

第15周 列相關的問題(Problems with Column Correlations)

第16周 SQL Server 2014中的基數預估(Cardinality Estimation in SQL Server 2014)

          到目前為止作為開發或資料庫管理者的你,你的生活都還太平,因為我們隻是單使用者與SQL Server打交道。如果是多使用者,在SQL Server内部會發什麼呢?在那個情況下SQL Server需要獲得鎖,這個最終會引發阻塞的情況。而且,你若不幸的話,阻塞會導緻死鎖。為你準備(迎接)這些情景,這個月我們會談到:

第17周 事務隔離級别

第18周 樂觀并發控制(Optimistic Concurrency)

第19周 鎖更新(Lock Escalations)

第20周 死鎖

          哇哦,終于你到了性能調優的最後一個月。你已經在成為性能調優專家的路上了。但是你還是需要一些額外知識:在SQL Server中運作中,我們如何做性能監控與故障排除來避免性能上的問題。是以在最後一個月我們會涉及:

第21周 PAL工具

第22周 等待統計(Wait Statistics)

第23周 臨時表(TempDb)

第24周 資料庫維護(Database Maintenance)