Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor

原文:Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor

一、工具概要

? ? 数据库应用系统性能低下,需要对其进行优化,

? ? 如果不知道问题出在哪里,可以使用性能检测工具sql server profiler。

? ? 如果知道问题出在哪里,却不知道如何解决,可以使用数据库引擎优化顾问Database Engine Tuning Advisor

二、sql server profiler

功能:检测到数据库中的所有操作,把监视的内容记录到数据库或者是文件中。

文件--新建跟踪--显示跟踪属性窗口

首先那个select%是个筛选监测的TextData。那个%是个通配符,他的意思就是筛选select开口的语句。当然这你自己可以随便定义,如update%,delete%....。

把那个排除不包含值的行也给带上,然后确定,运行。然后在数据库中运行一句select。你会发现他检测到啦。

每列以此向右,从EventClass开始,我给你讲讲都是什么。

? ? 事件分类,申请了语句,应用程序名称,操作系统用户,数据库用户,cpu占用率,读数据库次数,写数据库次说,执行脚本用时,应用程序进程号,开始时间,结束时间等。

? ? 事件选择,你就把鼠标放上去,他下面有中文的注释。自己好好看看,然后根据你自己的需要把事件勾选上来。

? ? ?然后文件-->>另存为,可以把这些监测到的数据保存为文件,或数据表。

1.查找持续时间最长的查询

? ?一般情况下,最长查询时间的查询语句就是最影响性能的原因存在。它不仅占用数据库引擎大量的时间,还浪费系统资源,还影响数据库应用系统的交互速度。再对数据用应用系统进行优化时,先找出他,对其优化,在创建跟踪时,勾上TSQL-SQL:BatchCompleted.跟Stored Procedures-RPC:completed。这样就能找出来这个最长时间查询然后对其进行分析优化。

select TextData,Duration,CPU from TraceFileDataTable
where EventClass=12 -- 等于12表示BatchCompleted事件 and CPU<(0.4*Duration) --如果cpu的占用时间,小于执行sql语句时间的40%,说明该语句等待时间过长

2.最占用系统资源的查询

? ? 就是占用cpu时间,跟读写IO的次数。建议事件包含Connect、Disconnect、ExistingConnection、SQL:BatchCompleted、RPC:completed,列包含writes,reads,cpu。

3.检测死锁

? ? 在访问量,并发量都很大的数据库中,如果设计稍不合理,就有可能造成死锁,给系统性能带来影响。事件包含:RPC:Starting、SQL:BatchStarting、Lock:DeadLock(死锁事件)、Lock:DeadLockChaining(死锁的事件序列)。

三、数据库引擎优化顾问Database Engine Tuning Advisor

? ? 数据库引擎优化顾问先是接受sql server profiler检测出来的sql,视图,存储过程,数据结构等等,然后他再自己分析,给出更好的索引,统计,分区等等建议信息。

打开之后,你在上一个工具中保存的的文件,你就在这里的工作负荷中选文件,表就选表,把要分析的数据库跟数据库的表选上,也就是下面的用于工作负荷分析的数据库选择,跟下面的要优化的数据库和表

然后选则你想要的优化选项

根据需要,选上,高级选项里面通常可以默认。确定。。

然后点左上角有一个开始分析。

分析完成

原文地址:https://www.cnblogs.com/lonelyxmas/p/8430177.html

时间: 2024-11-10 10:55:38

Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor的相关文章

SQL Server 性能监视和优化工具

Microsoft SQL Server 提供了一套综合的工具,用于监视 SQL Server 中的事件和优化物理数据库的设计. 工具的选择取决于要执行的监视或优化类型和要监视的具体事件. 以下是 SQL Server 监视和优化工具: 工具 描述 内置函数 (Transact-SQL) 内置函数可显示自启动服务器以来有关 SQL Server 活动的快照统计信息,这些统计信息存储在预定义的 SQL Server 计数器中. 例如,@@CPU_BUSY** 包含 CPU 执行 SQL Serve

SqlServer性能检测和优化工具使用详细

原文:SqlServer性能检测和优化工具使用详细 工具概要 如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问题出在哪里,并且找到他,咱们可以借助本文中要讲述的性能检测工具--sql server profiler(处在sql安装文件--性能工具--sql server profiler) 如果知道啦问题出现在哪里,如果你又是绝世高手,当然可以直中要害,写

SqlServer性能检测和优化工具使用详细(转)

转载链接:http://www.cnblogs.com/knowledgesea/p/3683505.html 工具概要 如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问题出在哪里,并且找到他,咱们可以借助本文中要讲述的性能检测工具--sql server profiler(处在sql安装文件--性能工具--sql server profiler) 如果知

Oracle 数据库SQL性能查看

作为一个开发/测试人员,或多或少都得和数据库打交道,而对数据库的操作归根到底都是SQL语句,所有操作到最后都是操作数据,那么对sql性能的掌控又成了我们工作中一件非常重要的工作.下面简单介绍下一些查看oracle性能的一些实用方法: 1.查询每台机器的连接数 select t.MACHINE,count(*) from v$session t group by t.MACHINE 这里所说的每台机器是指每个连接oracle数据库的服务器,每个服务器都有配置连接数据库的连接数,以websphere

Android性能检测--traceview工具各个参数的意思

Android性能检测 traceview的使用方法 1. 把android-sdk-windows\tools路径加到Path当中 2. 编写测试代码: [java] view plaincopy package com.wwj.traceview; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.os

ORACLE学习之PL/SQL编程——本地动态SQL

目录 读前注意与概述 动态SQL简介 使用EXCUTE IMMEDIATE语句 处理DDL和DCL语句 处理DML语句 处理单行查询 处理多行查询 在动态SQL中使用批量绑定 读前注意与概述 当编写PL/SQL块时,静态SQL语句只能完成一些固定任务.为了使得PL/SQL块可以灵活的处理SQL语句,需要使用动态SQL.动态SQL包括本地动态SQL和DBMS_SQL动态SQL两种实现方法,其中本地动态SQL只适用于oracle服务器端,而DBMS_SQL动态SQL不仅适用于oracle服务器端,而

SQL Server Profiler工具

一.SQL Profiler工具简介 SQL Profiler是一个图形界面和一组系统存储过程,其作用如下: 图形化监视SQL Server查询: 在后台收集查询信息: 分析性能: 诊断像死锁之类的问题: 调试T-SQL语句: 模拟重放SQL Server活动: 也可以使用SQL Profiler捕捉在SQL Server实例上执行的活动.这样的活动被称为Profiler跟踪. 1.Profiler跟踪 从开始=>所有程序=>Microsoft SQL Server 2008=>性能工具

SQL Server Profiler工具【转】

一.SQL Profiler工具简介 转自:http://www.cnblogs.com/kissdodog/p/3398523.html SQL Profiler是一个图形界面和一组系统存储过程,其作用如下: 图形化监视SQL Server查询: 在后台收集查询信息: 分析性能: 诊断像死锁之类的问题: 调试T-SQL语句: 模拟重放SQL Server活动: 也可以使用SQL Profiler捕捉在SQL Server实例上执行的活动.这样的活动被称为Profiler跟踪. 1.Profil

SQL Server Profiler -- 性能调校

SQL Server Profiler -- 性能调校 性能有足够的理由成为一个热点话题.当今商业领域竞争激烈,如果用户认为某个应用程序速度太慢,就会立刻转向另一个供应商.为了满足用户的要求,SQL跟踪加载了一些事件类,可以利用这些事件类来查找和调试性能瓶颈. 性能监视技术可以大致分为两个类别:在已知故障相关知识时使用的技术和用来查找故障所在(或者查找到底是否存在故障)的技术.如果查出这个故障的某些问题,就可以在这方面获取更多的信息.因此,从第2种帮助精确定位故障区域的技术开始,然后再讨论怎样进