大家好,这是我在博客园写的第一篇博文,之所以要开这个博客,是我对MS SQL技术学习的一个兴趣记录。
作为计算机专业毕业的人,自己对技术的掌握总是觉得很肤浅,博而不专,到现在我才发现自己的兴趣所在,于是我通过网络找了各种MS SQL技术的相关文档,总觉得讲得比较干涩,没有一个系统性,今年3月底我无意浏览到一个网站提供免费的性能调优的半年培训(http://www.sqlpassion.at/academy/performance-tuning-training-plan/),网站所有人会在每周往你邮箱发送一份性能调优的培训材料,于是在今天,一个多月学习下来,我觉得自己对SQL SERVER的理解已经开始深入,所以我觉得应该把这些材料共享给大家,顺便对自己学习MS SQL技术一个记录。
因为我觉得,很多东西只有自己对别人讲解一遍,才会加深自己的理解,顺便提升自己。
以下开始是我的学习材料分享,这个是第0篇,总论:
-
第1个月:数据库基础
- 在第1个月我们会通过讨论在SQL SERVER中的基本概念,建立SQL SERVER的基础。在第一个月的4个星期里我们会学到:
-
第2个月:索引
- 基于你已在第1个月学到的知识,第2个的一切都是关于SQL Server中的索引。有了好的索引战略,你就可以获得大幅度提速SQL Server工作。这4周我们会涵盖(以下)细节。
- 第5周 堆表 0518_05_堆表.rar
- 第6周 聚集索引 0602_06_聚集索引.rar
- 第7周 非聚集索引
0608_07_00聚集表上的B树结构.rar
0615_07_01非聚集索引.rar
0624_07_02SQL_Server的索引结构.part1.rar
0624_07_02SQL_Server的索引结构.part2.rar
0624_07_02SQL_Server的索引结构.part3.rar
0624_07_02SQL_Server的索引结构.part4.rar
0629_07_03非聚集索引的B树结构在聚集表.rar
0706_07_04非聚集索引的B树结构在堆表.rar - 第8周 覆盖索引 临界点(Tipping Point) 0713_08_覆盖索引、临界点.rar
-
第3个月:执行计划
- 当我们提交查询给SQL Server,我们通过T-SQL语句只告诉SQL Server我们要什么。但在SQL Server内部却是编译成执行计划。执行计划是我们如何获取我们需要数据的获取战略。如果你有性能问题,你就需要理解如何读懂并调整生成的执行计划。这4周你会学到关于执行计划的下列内容。
-
第4个月:统计信息
- 统计信息是SQL Server数据库里最重要的部分,在生成执行计划时,统计信息使用来决定你的查询里多少列可以被返回。如果你的统计信息过期了,你会获得来自SQL Server次佳的执行计划。因此我们把一个月的时间致力于统计信息,只有这样你才可以对它们非常熟悉。这个月我们会谈到:
-
第5个月:锁,阻塞,死锁
- 到目前为止作为开发或数据库管理员的你,你的生活都还太平,因为我们只是单用户与SQL Server打交道。如果是多用户,在SQL Server内部会发什么呢?在那个情况下SQL Server需要获得锁,这个最终会引发阻塞的情况。而且,你若不幸的话,阻塞会导致死锁。为你准备(迎接)这些情景,这个月我们会谈到:
-
第6个月:性能监控与故障排除
- 哇哦,终于你到了性能调优的最后一个月。你已经在成为性能调优专家的路上了。但是你还是需要一些额外知识:在SQL Server中运行中,我们如何做性能监控与故障排除来避免性能上的问题。因此在最后一个月我们会涉及: