天天看点

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)