代码改变世界

随笔档案-2018年06月

查询优化器

2018-06-30 17:27 by 笑一笑十年少!!!, 624 阅读, 收藏,
摘要: 查询优化器查询优化器是关系型数据库管理系统的核心之一,决定对特定的查询使用哪些索引、 哪些关联算法,从而使其高效运行。它是优化器中最重要的组件之一。查询优化器(简称优化器)是 SQL Server针对用户的请求进行内部优化,生 成 (或重 用)执行计划并传输给存储引擎来操作数据,最终返回结果给用户的 阅读全文

4.4 I/O性能侦测

2018-06-30 17:24 by 笑一笑十年少!!!, 182 阅读, 收藏,
摘要: 4.4 I/O性能侦测通常I/O问题的主要侦测手段是使用性能监视器的对应计数器,特别是Physical Disk\ Disk Reads/sec和 Physical Disk\Disk Writes/sec这两个,其中涉及的常规性能指标如下: □ < 10 ms = 没有性能问题 □ 10 ~ 20 阅读全文

4 .3 .4 常见高CPU利用率的原因

2018-06-30 17:16 by 笑一笑十年少!!!, 783 阅读, 收藏,
摘要: 4 .3 .4 常见高CPU利用率的原因存在髙CPU利用率的问题类型有很多种,但是我们可以关注一些常见类型,至于其他 极端类型暂时不包含。以下便是高CPU利用率的常见类型:□缺失索引(Missing Index)□统计信息过时□ 非 SARG查询□ 隐式 转 换 (Implicit conversi 阅读全文

4 .3 .3 查找CPU消耗高的查询

2018-06-30 16:40 by 笑一笑十年少!!!, 291 阅读, 收藏,
摘要: 4 .3 .3 查找CPU消耗高的查询下面的语句用于查找CPU最髙消耗的10个语句,并带有一些相关信息,特别是执行 计划。 SELECT TOP ( 10 )SUBSTRING(ST.text, ( QS.statement_start_offset / 2 ) + 1, ( ( CASE stat 阅读全文

4.3 CPU性能侦测

2018-06-30 16:37 by 笑一笑十年少!!!, 430 阅读, 收藏,
摘要: 4.3 CPU性能侦测CPU的性能问题在日常使用中很常见,但是表现形式几乎只有一种,就是在任务管理 器中看到CPU的使用率居高不下。这时候需要侦测问题的根源并选择对应的处理方式。4 .3 .1 侦测CPU压力侦测CPU问题通常可以使用性能监视器、SQL Trace和DMVs等。下面简要介绍一下。1 阅读全文

4 .2 .4 配置存储系统

2018-06-30 16:20 by 笑一笑十年少!!!, 210 阅读, 收藏,
摘要: 4 .2 .4 配置存储系统在考虑存储系统时,数量、大小、速度及阵列情况都是需要纳人考虑范围内的,并且 需要根据工作负载而定。当 SQL Server所需的数据不在内存的Buffer cache中时,就会读 取磁盘,引起磁盘I/O。当数据修改时,事务也会写到事务日志文件中,然后写人数据文件 中,这也 阅读全文

4 .2 .2 驱动器类型

2018-06-30 16:02 by 笑一笑十年少!!!, 387 阅读, 收藏,
摘要: 4 .2 .2 驱动器类型近年来,磁盘寻道时间的改进不大,在可见的将来也不会很大。典型的寻道时间大概 是 5 〜 10ms。磁盘的旋转延时目前常见的是15000rpm,速度大概是3 〜 4ms。 由于传统磁盘的这些限制,导致了 SAN/DAS存储阵列这些高级技术的出现。磁盘阵列 允许数据条带型地横跨 阅读全文

4 . 2 存储系统

2018-06-30 14:59 by 笑一笑十年少!!!, 198 阅读, 收藏,
摘要: 4 . 2 存储系统相对于CPU来说,存储系统的考虑因素就少很多,主要如下: □磁盘寻道时间和旋转延时。□传统磁盘还是SSD。□存储阵列类型:SAN、DAS。□ RAID配置。4.2.1 磁盘 I/O现代内存越来越大,但是内存容量的增长速度和成本的下降速度远跟不上数据量的增 长速度。足够的内存可以最 阅读全文

4.1 CPU

2018-06-30 14:50 by 笑一笑十年少!!!, 372 阅读, 收藏,
摘要: 4.1 CPUCPU是计算机的大脑。本节主要介绍CPU以及相关的硬件知识。关系型数据库严重依赖其底层的硬件资源。如果对服务器硬件没有充分的了解,要想让数据库顺畅运行,可能会遇到不可预估的挑战。对于SQL Server来说,需要关注的主要 包括以下几点:□时钟周期速率 □核心和线程数量 □ Cache 阅读全文

3 .6 .5 优化Ad-Hoc工作负载

2018-06-29 16:03 by 笑一笑十年少!!!, 347 阅读, 收藏,
摘要: 执行计划生成后会存储在plan cache中,以便重用,如果计划缓存从来都没有被重用 过,将会造成内存资源的浪费,这有可能是由于非参数化的Ad-hoc (即席查询)引起的。 当执行代码时,会产生一个hash值,用于匹配计划缓存中的hash值,相同的hash值代表 语句是相同的。如果执行一个存储过程, 阅读全文

3 .6 .4 优化SQL Server内存酉己置

2018-06-29 16:02 by 笑一笑十年少!!!, 363 阅读, 收藏,
摘要: 3 .6 .4 优化SQL Server内存酉己置1 .最小和最大服务器内存这两个配置用于控制SQL Server可用内存的大小。对于最小内存,在 SQL Server服务 启动时,不会马上达到这个设置值,而是仅使用最小的需求内存,然后按需增长,一旦增 长到最小内存设置值时,SQL Server将不 阅读全文

3 .6 .3 内存问题诊断

2018-06-29 15:20 by 笑一笑十年少!!!, 340 阅读, 收藏,
摘要: 3 .6 .3 内存问题诊断遇到内存问题时,首先要检查SQL Server的内存使用情况,可以使用性能监视器或者 DMV来查看。通过性能监视器可以监控下面的计数器。□ Granted Workspace Memory (K B ),当前查询正在使用的总内存大小。 □ Maximum Workspac 阅读全文

3.6.2 SQL Server 内存

2018-06-28 11:08 by 笑一笑十年少!!!, 254 阅读, 收藏,
摘要: SQL Server的内存管理一共分3 级,最底层是内存节点,是 SQL Server内存的最低级分配对象;第二级是Memory clerks,前面提到过,它是用于访问内存节点和缓存存储的, 主要用于缓存;顶级节点是内存对象,只有clerks可以访问内存节点并分配内存,所以所 有需要分配内存的组件都 阅读全文

3.6 SQL Server 内存

2018-06-28 09:03 by 笑一笑十年少!!!, 268 阅读, 收藏,
摘要: SQL Server运行过程主要集中在内存中,因此下面分两个部分进行介绍,第一部分先 了解Windows中的内存管理,因为内存资源首先是由操作系统来管理的,SQL Server的内 存申请必须得到操作系统的同意,这样才可以得到资源。我们常说的内存实际上分为物理 内存(Physical Memory/ 阅读全文

3.5 SQLOS

2018-06-27 15:43 by 笑一笑十年少!!!, 281 阅读, 收藏,
摘要: SQLOS最早是出现在SQL Server 2005中,它是一个底层的SQL Server的 “专用操 作系统”,用于管理调度、I/O争用、内存管理和其他资源协调等工作。这个组件是承接 SQL Servei■和Windows的中间层,具有相当重要的作用。这部分的信息可以从以sys.dm_os_开头的 阅读全文

3.4执 行 模 型

2018-06-27 15:36 by 笑一笑十年少!!!, 207 阅读, 收藏,
摘要: 这部分会在第7 章中详细介绍。当一个应用程序(包括SSMS)成功与SQL Server建立 联系之后,会有一个会话ID ( session_id)与这个连接相关联,可以通过查询sys.dm_exec_ sessions这个DMV来获取当前所有已授权的会话列表。当一个会话发出一个请求时,SQL Ser 阅读全文

3.3关系引擎和存储引擎是SQLServer的两大组件。

2018-06-27 15:14 by 笑一笑十年少!!!, 1113 阅读, 收藏,
摘要: —个 SELECT查询从客户端传人SQL Server,首先到达的地方是SQL Server的网络接口,这个接口是一个建立在客户端和服务器之间的网络连接的协议层(SNI),包含了一系列 用于连接数据库引擎和SQL Server Native Client ( SNAC)的 APIs。SNI替代了原有 阅读全文

3.1 sql server查询体系

2018-06-26 14:34 by 笑一笑十年少!!!, 247 阅读, 收藏,
摘要: 1:协议层 share memory 禁用本地客户端连不上sql服务器引擎 tcp/ip 如果禁用 外部客户端连不上sql服务器 端口号1433 阅读全文

比如知道性能问题出现在哪里 看到2.3

2018-06-25 14:52 by 笑一笑十年少!!!, 249 阅读, 收藏,
摘要: 比如知道问题出现在哪里,比如一个系统运行速度还能接受,但是查询某一个报表出现了问题,甚至超时。那么99%是那个报表的相关程序出现了问题,可以通过sql执行计划排除 这一点在第5 7 8章重点介绍。 某个功能变慢 比如存储过程或者查询的问题 整个系统都很慢 :低效的代码,资源配备不合理 不合理的设计 阅读全文

sqlserver 性能问题

2018-06-19 12:27 by 笑一笑十年少!!!, 860 阅读, 收藏,
摘要: 在新服务器 足够的带宽 装上刚开发的应用服务程序和数据库系统 读取数据依然很慢 说明性能问题 响应时间 吞吐量:相关的有网络、设备、磁盘、带宽、端口 可扩展:出现性能问题可不可以扩展硬件资源改善和设置软件参数改善 性能目标:尽可能缩小每个sql语句的响应时间以增加应用服务程序的吞吐量、减少网络延迟、 阅读全文