`

深入SQL Server数据库速度提升问题

 
阅读更多

  SQL服务器的性能管理通常是反应式的,它侧重的是服务器的运行状态。数据库管理员会对问题作出响应而不是将避免问题的产生摆在首位。可视性也很大程度上仅限于观测数据库服务器而不是了解SQL服务器怎样直接对程序用户的产生影响。

  等待时间分析是对SQL服务器数据库性能的一种改进方法,它不再只是监测系统的运行状况而已,等待时间分析侧重于应用程序响应询问所需的时间。其结果是一种能够迅速回答关键问题的分析技巧,如为什么数据库要让用户进行等待,我们又可以为此做些什么呢?

  由于轻量级监测技术和无代理架构的发展,等待时间分析现在已经可以应用与实际操作了。它利用了SQL服务器中新设备来暴露等待类型,这些步骤在SQL服务器处理询问时积累延时。

  事半功倍

  对于IT机构来说,使用等待时间分析的结果可以减少数据库操作的成本并改进IT服务。数据库管理员可以用更少的服务器完成更多的工作。从SQL Server 2000到2005再到2008,开发周期缩短了。对于那些要用更少的资源提供更优质服务的IT公司来说,等待时间分析是实现成本效益的答案。

  数据库管理员通常位于两难的境地。对于响应程序用户的数据库来说,他们的数量是有限的,但是他们却不能看到数据库减缓的原因。通常这样的事情根本不是发生在其数据库中,但是却源于应用程序代码,网络或者系统架构。为了获取改变的应用程序代码,数据管理器必须为程序员提供证据,与此同时,程序员会感到十分疑惑因为他们并不了解数据库。这些问题是典型的依赖于旧式服务器状态监测技术的表现。

  等待时间分析

  有效的等待时间分析不仅仅是截取等待类型的数据。为了能有效地在模糊数据点中生成有用信息,它必须利用商业智能情境中验证过的技术。其中关键的概念包括:

  • 测量时间,不要考虑操作 对于应用程序用户,I/O操作或逻辑读取的数量已经没有什么意义。重要的是应用程序响应所需的时间。从这一角度来实现优化要侧重于数据库所需的时间。等待类所做的就是这一操作。
  • 注意查询 问题的关键是SQL查询级别的测量和单独对话。测量通过实体或数据库的等待而不会减缓其速度的工具不会给出有价值的信息。
  • 持续捕获 整个过程中要时刻保持监视。通过观测所有的对话,数据库管理员可以发现任何问题。当用户因为程序速度减慢而寻求帮助的时候,数据肯定已经准备好了。依赖于间歇性追踪的系统将错过可能发生的错误。
  • 历史地观测 要明白需要修复什么,数据库管理员应该研究数据库的趋势和变化,而不只是看到即时结果。有效的等待时间分析用历史的眼光来比较当前等待类的统计数据和以前的统计以便发现其中的不同之处,这有助于解决潜在的新问题。

  SQL Server等待类

  意识到SQL 服务器等待类是了解该方法的第一步。任何有悖于SQL服务器运行的语句都将面对等待,因为SQL服务器会为要完成的命令按照顺序访问资源。请求会等待要检索的,要写入磁盘或是要写入SQL服务器日志的数据。当等待变成一个长期过程或超量时,就会出现性能问题了。

  普通等待类

  SQL服务器会记录类的信息以及等待进程的持续时间。虽然在SQL服务器中有100多种类,但是其中可能只有少数会出现问题。任何等待类都以LCK_开始,这意味着该任务在等待获得一个锁定。例如,一个LCK_M_IX的等待类意味着等待获取Intent Exclusive锁定。20多种等待类是锁定等待,这些等待之所以恰当是因为SQL服务器中大多数执行的任务要求某种锁定。下一个最普遍的锁定种类是ASYNC_IO_COMPLETION和ASYNC_NETWORK_IO。前一个是等待I/O操作完成的等待,后一个是等待I/O在网络上完成的等待。最后,留意一下CXPACKET等待状态。当某一进程试图使查询处理器交换迭代同步时会出现这一等待。这说明了服务器并行设置问题。花时间弄清楚怎样的潜在等待状态是耗时的。平均来说,大约20种潜在等待状态表现了80%的问题。在完成等待时间分析之后,你就习惯某些等待类了。


相关阅读:

 

分享到:
评论

相关推荐

    SQLServer数据库实验指导书

    综上所述,这份SQLServer数据库实验指导书提供了全面的实践练习,涵盖数据库的获取、安装、基本操作、表空间管理、表和索引的创建等核心概念,是学习和提升SQLServer数据库技能的理想资源。通过这些实验,学习者能够...

    完全手册C#2005+SQL Server数据库与网络开发

    《完全手册C#2005+SQL Server数据库与网络开发》是一本全面介绍使用C# 2005编程语言结合SQL Server数据库进行网络应用开发的权威指南。该书涵盖了从基础到高级的C#编程概念,以及SQL Server数据库管理和网络应用开发...

    通过ORACLE通用连接访问SQLServer数据库的方法

    在IT行业中,数据库之间的互操作性是至关重要的,特别是在企业级应用中,可能需要整合不同类型的数据库系统。本文将详细探讨如何使用Oracle...如果你需要深入学习,可以参考相关的技术文档和教程,进一步提升你的技能。

    Winform+SQL Server数据库图书管理系统

    总之,“Winform+SQL Server数据库图书管理系统”是结合了C#技术和SQL Server数据库的高效管理系统,它的功能全面、操作简便,对于图书馆或教育机构来说,无疑是一个提升图书管理水平的有效工具。同时,该项目也为...

    C#语言和SQL Server数据库基础第7章.zip

    在本资源"C#语言和SQL Server数据库基础第7章.zip"中,我们聚焦于C#编程语言和SQL Server数据库的基础知识。C#是Microsoft开发的一种面向对象的编程语言,广泛应用于构建Windows桌面应用、Web应用以及游戏开发。SQL ...

    SQL Server数据库管理精品电子书

    《SQL Server数据库管理精品电子书...通过阅读《SQL Server数据库管理精品电子书》,读者将能够全面掌握SQL Server数据库的管理知识,提升数据库运维水平,解决实际工作中的各种问题,实现高效、稳定的数据库系统管理。

    Siemens S7 1200 PLC连接SQLSERVER数据库

    本篇文章将深入探讨如何将Siemens S7 1200 PLC连接到SQL Server数据库,以便于数据的存储、查询和处理。 首先,理解基本概念。PLC是一种专为工业环境设计的计算机,用于控制自动化设备。S7-1200是西门子的紧凑型PLC...

    SQL Server数据库开发实例解析完整版

    在IT领域,SQL Server数据库是微软公司推出的一款关系型数据库管理系统,被广泛应用...此资源“SQL Server数据库开发经典案例解析”提供了一条深入学习和实践的路径,帮助读者将理论与实际相结合,提升数据库开发技能。

    《Delphi+SQL Server数据库应用实例完全解析》光盘内容

    《Delphi+SQL Server数据库应用实例完全解析》是一本深入探讨如何使用Delphi开发应用程序并与SQL Server数据库进行交互的专业书籍。Delphi是一款强大的Windows应用程序开发工具,以其高效的编译器和直观的RAD(快速...

    深入浅出sql server数据库开发随书光盘

    "深入浅出SQL Server数据库开发随书光盘"是针对该系统的一款配套学习资源,包含了与书中理论知识相辅相成的实践代码。通过这本书和光盘中的内容,读者可以深入理解SQL Server的各个方面,包括但不限于数据库设计、...

    SQL Server 数据库应用教程

    该教程全面、深入地介绍了SQL Server数据库的各种核心概念、操作方法以及实际应用,是SQL Server初学者和进阶者的宝贵资源。 SQL Server是微软公司开发的一款关系型数据库管理系统(RDBMS),广泛应用于企业级数据...

    sql server 数据库文件——图书订购

    这两个文件是SQL Server数据库不可或缺的部分,下面我们将深入探讨它们的功能和重要性。 1. **主数据文件(mdf)**: 主数据文件是数据库的主要组成部分,它存储了数据库的用户数据、系统表、索引和其他数据库对象...

    SQL+Server数据库开发经典实例精解

    《SQL Server数据库开发经典实例精解》是一本深入探讨SQL Server数据库开发的实用指南,旨在通过丰富的实例解析,帮助读者掌握SQL Server的核心技术和应用方法。本书涵盖了从基础操作到高级特性的广泛内容,旨在帮助...

    新手购物车用的.NET和sql Server数据库

    标题中的“新手购物车用的.NET和sql Server数据库”表明这是一个关于使用.NET框架和SQL Server数据库来构建初级购物车系统的项目。在这个系统中,.NET将作为后端开发的主要技术,而SQL Server则用于存储和管理数据。...

    SQL Server数据库系统概论课件

    《SQL Server数据库系统概论》课程是针对数据库管理和开发人员设计的,旨在深入理解SQL Server这一强大关系型数据库管理系统的工作原理、特性和使用方法。本课程基于王珊主编的《数据库系统概论》(第4版)教材,该...

    SQL Server数据库技术大全

    《SQL Server数据库技术大全》是一本全面探讨微软SQL Server数据库管理系统的权威指南,涵盖了从基础概念到高级应用的广泛知识领域。SQL Server是企业级的数据存储和管理平台,广泛应用于各种业务系统,其强大功能和...

    sql server数据库教程1

    在这个教程中,我们将逐步深入SQL Server 2000的各个功能,包括备份与恢复策略、安全性管理、索引优化、视图的使用、存储过程的编写,以及触发器的应用等。无论你是数据库新手还是希望进一步提升技能的开发者,这个...

    SQL Server数据库中存储引擎深入探讨

    《SQL Server数据库中存储引擎深入探讨》这篇文章详细阐述了SQL Server 7.0版本的存储引擎,这是一个在商业问题解决方案中扮演重要角色的关键组件。在软件领域,数据库管理系统(RDBMS)的易用性和可伸缩性是衡量其...

    SQL Server数据库技术大全.pdf

    总的来说,《SQL Server数据库技术大全》是一本全面且深入的教程,适合数据库管理员、开发人员、分析师以及对SQL Server感兴趣的任何人士阅读。通过学习这本书,读者可以全面提升自己在SQL Server领域的专业能力,...

    SQL Server数据库原理及应用(第二版)教案

    《SQL Server数据库原理及应用(第二版)教案》是由曾长军编著的一份详尽的教学资源,旨在帮助学习者深入理解SQL Server数据库的核心概念、设计原则和实际应用。这份教案全面涵盖了数据库管理系统的基础知识,SQL语言...

Global site tag (gtag.js) - Google Analytics