原文:SQL Server 性能调优培训引言

大家好,这是我在博客园写的第一篇博文,之所以要开这个博客,是我对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周 堆表
    • 第6周 聚集索引
    • 第7周 非聚集索引
    • 第8周 覆盖索引 卸载点(Tipping Point)
  • 第3个月:执行计划

  • 当我们提交查询给SQL Server,我们通过T-SQL语句只告诉SQL Server我们要什么。但在SQL Server内部却是编译成执行计划。执行计划是我们如何获取我们需要数据的获取战略。如果你有性能问题,你就需要理解如何读懂并调整生成的执行计划。这4周你会学到关于执行计划的下列内容。
    • 第9周 理解执行计划
    • 第10周 计划缓存
    • 第11周 重编译
    • 第12周 并行执行计划
  • 第4个月:统计信息

  • 统计信息是SQL Server数据库里最重要的部分,在生成执行计划时,统计信息使用来决定你的查询里多少列可以被返回。如果你的统计信息过期了,你会获得来自SQL Server次佳的执行计划。因此我们把一个月的时间致力于统计信息,只有这样你才可以对它们非常熟悉。这个月我们会谈到:
    • 第13周 为什么统计信息如此重要
    • 第14周 直方图与密度(The Histogram & the Density Vector)
    • 第15周 列相关的问题(Problems with Column Correlations)
    • 第16周 SQL Server 2014中的基数预估(Cardinality Estimation in SQL Server 2014)
  • 第5个月:锁,阻塞,死锁

  • 到目前为止作为开发或数据库管理员的你,你的生活都还太平,因为我们只是单用户与SQL Server打交道。如果是多用户,在SQL Server内部会发什么呢?在那个情况下SQL Server需要获得锁,这个最终会引发阻塞的情况。而且,你若不幸的话,阻塞会导致死锁。为你准备(迎接)这些情景,这个月我们会谈到:
    • 第17周 事务隔离级别
    • 第18周 乐观并发控制(Optimistic Concurrency)
    • 第19周 锁升级(Lock Escalations)
    • 第20周 死锁
  • 第6个月:性能监控与故障排除

  • 哇哦,终于你到了性能调优的最后一个月。你已经在成为性能调优专家的路上了。但是你还是需要一些额外知识:在SQL Server中运行中,我们如何做性能监控与故障排除来避免性能上的问题。因此在最后一个月我们会涉及:
    • 第21周 PAL工具
    • 第22周 等待统计(Wait Statistics)
    • 第23周 临时表(TempDb)
    • 第24周 数据库维护(Database Maintenance)

SQL Server 性能调优培训引言的更多相关文章

  1. 第0/24周 SQL Server 性能调优培训引言

    大家好,这是我在博客园写的第一篇博文,之所以要开这个博客,是我对MS SQL技术学习的一个兴趣记录. 作为计算机专业毕业的人,自己对技术的掌握总是觉得很肤浅,博而不专,到现在我才发现自己的兴趣所在,于 ...

  2. sql server性能调优

    转自:https://www.cnblogs.com/woodytu/tag/%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98%E5%9F%B9%E8%AE%AD/defaul ...

  3. sql server 性能调优之 资源等待PAGELATCH

    一.概述 在前几章介绍过 sql server 性能调优资源等待之PAGEIOLATCH,PAGEIOLATCH是出现在sql server要和磁盘作交互的时候,所以加个IO两个字.这次来介绍PAGE ...

  4. sql server 性能调优之 资源等待 LCk

    一.  概述 这次介绍实例级别资源等待LCK类型锁的等待时间,关于LCK锁的介绍可参考 “sql server 锁与事务拨云见日”.下面还是使用sys.dm_os_wait_stats 来查看,并找出 ...

  5. sql server 性能调优之 CPU消耗最大资源分析1 (自sqlserver服务启动以后)

    一. 概述 上次在介绍性能调优中讲到了I/O的开销查看及维护,这次介绍CPU的开销及维护, 在调优方面是可以从多个维度去发现问题如I/O,CPU,  内存,锁等,不管从哪个维度去解决,都能达到调优的效 ...

  6. [转]SQL Server 性能调优(io)

      目录 诊断磁盘io问题 常见的磁盘问题 容量替代了性能 负载隔离配置有问题 分区对齐配置有问题 总结 关于io这一块,前面的东西如磁盘大小,磁盘带宽,随机读取写入,顺序读取写入,raid选择,DA ...

  7. sql server 性能调优 资源等待之网络I/O

    原文:sql server 性能调优 资源等待之网络I/O 一.概述 与网络I/O相关的等待的主要是ASYNC_NETWORK_IO,是指当sql server返回数据结果集给客户端的时候,会先将结果 ...

  8. sql server 性能调优 资源等待之内存瓶颈的三种等待类型

    原文:sql server 性能调优 资源等待之内存瓶颈的三种等待类型 一.概述 这篇介绍Stolen内存相关的主要三种等待类型以及对应的waittype编号,CMEMTHREAD(0x00B9),S ...

  9. CPU开销sql server 性能调优

    sql server 性能调优 CPU开销分析 一. 概述 上次在介绍性能调优中讲到了I/O的开销查看及维护,这次介绍CPU的开销及维护, 在调优方面是可以从多个维度去发现问题如I/O,CPU, 内存 ...

随机推荐

  1. centos7里默认python升级到2.7.11

    CentOS镜像使用帮助 http://mirrors.163.com/.help/centos.html   安装gcc yum install gcc* openssl openssl-devel ...

  2. Delphi与C++的语法区别(六点区别) good

    一.Delphi永远没办法在栈上创建一个对象 下面是一段常见的的Delphi代码,在过程的开头声明本过程所需要的全部局部变量: procedure Foo;var obj: TObject; //这句 ...

  3. 轻松学会多线程(四)——synchronized同步keyword知多少

    每个对象都有一把独占锁. 独占锁仅仅限制线程对它的同步方法的訪问,对非同步方法,独占锁没有意义. synchronizedkeyword能够作为函数的修饰符,也能够作为函数内的语句,也就是平时说的同步 ...

  4. SQL查询语句联系

    建立四个表,分别是学生表,课程表,成绩表和教师信息表 插入信息: 题目: 1. 查询Student表中的所有记录的Sname.Ssex和Class列 select Sname,Ssex,Class f ...

  5. java学习笔记09--反射机制

    java学习笔记09--反射机制 什么是反射: 反射是java语言的一个特性,它允许程序在运行时来进行自我检查并且对内部的成员进行操作.例如它允许一个java的类获取他所有的成员变量和方法并且显示出来 ...

  6. 解析android framework下利用app_process来调用java写的命令及示例

    解析android framework下利用app_process来调用java写的命令及示例 在android SDK的framework/base/cmds目录下了,有不少目录,这些目的最终都是b ...

  7. Qt线程同步操作用QWaitCondition QMutex

    可以看到Qt提供了一个等待事件发生的类QWaitCondition,当条件满足时可以唤醒其它等待的线程. 写一个类可以在线程间实现同步功能 #ifndef THREADEVENT_H #define ...

  8. swfupload组件后台获取中文文件名称乱码的问题解决

       问题描写叙述:用swfupload上传文件,含有中文名称的文件上传会报错,我用的是获取FileItem对象,用FileItem对象的getName()方法获取文件名会乱码,试着用request. ...

  9. VMwave下Ubuntu扩展磁盘空间

    VMwave下Ubuntu扩展磁盘空间 Ubuntu原预装磁盘空间20G,随着系统安装软件越来越多,空间慢慢不够用. 打算安装DB2,许扩展磁盘空间. 环境: No LSB modules are a ...

  10. jvm调优经验分享

    当Java程序申请内存,超出VM可分配内纯的时候,VM首先可能会GC,假设GC完还是不够,或者申请的直接超够VM可能有的,就会抛出内 存溢出异常.从VM规范中我们能够得到,一下几种异常. java.l ...