分三步:

记录慢查询的语句到日志文件

1、首先在SSMS,工具菜单下打开Profiler。

2、输入你用户名密码登陆。

3、常规,勾选保存到文件,选择一个文件路径,设置文件大小,这样可以分文件存储日志了

注意:在服务器本地,文件路径可以随便选择;跟踪远程服务器时这个路径设置需要使用\\ServerName\.......(应该是设置远程服务器能访问的本地一个共享路径,比较麻烦)

4、事件选择选择,选择以下两列即可,

Stored Procedures RPC:Completed
TSQL                      SQL:BatchCompleted

5、点击列筛选器,为Duration设置一个过滤值。本例子设置为3000(即3S)。

6、点击运行。开始信息的收集。

分析日志文件

远程分析时需要把日志文件*.trc拷贝到本地,打开SSMS连接本地数据库,使用如下语句查询:

SELECT a.TextData,a.StartTime,a.EndTime,Duration/1000000

FROM fn_trace_gettable('D:\QSWork\Sql跟踪文件\慢查询 - 1.trc', -1) a

注意:只有连接本地服务器,这个路径才可以使用绝对路径

数据库优化

1.在查询分析器里执行查看实际执行集合、IO和TIME占用情况

首先打开IO和TIME统计开关

SET STATISTICS TIME ON
SET STATISTICS IO ON

打开后每次执行sql语句时在消息里就可以打出如下信息:

(1845345 行受影响)
表 'StockQuote'。扫描计数 1,逻辑读取 14025 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

为了保证每次都是从硬盘读取数据,所以要先清空缓存

--清空缓存
checkpoint
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE

清空是否有效可以在先后两次执行sql的信息中看物理读取次数是否一样区分。

最后,在执行前选定“包括实际的执行计划”。执行结果:

      执行计划

根据执行情况优化 sql语句,发现索引、外键设计存在的问题

2.使用“数据库引擎优化顾问”执行sql得出性能优化建议

结论:有时候捕获到的sql执行时间过长可能是数据库的并发访问,或者前后执行的语句中存在资源竞用,这就得从业务逻辑上去查找一下原因。只有每次执行都比较耗时的,且调用比较频繁的语句才需要特别优化。

参考链接:

1.[MS Sql Server术语解释]预读,逻辑读,物理读

2.SQL Server datetime数据类型设计、优化误区

SqlServer 慢查询分析优化的更多相关文章

  1. sqlserver 数据查询效率优化

    首先优化是具体情况具体分析,从硬件.改进表结构.索引.改进sql查询语句.存储方式都有关系等多方面入手 比如单表数据量(100w-200w条)不大的情况下,查询效率慢 可以从优化sql语句.对多个排序 ...

  2. (转)MySQL慢查询分析优化 + MySQL调优

    .long_query_time的默认值为10,意思是运行10S以上的语句. .临时设置开启慢查询日志 mysql> show variables like '%slow_query_log%' ...

  3. 记一次SqlServer大表查询语句优化和执行计划分析

    数据库: sqlserver2008r2 表: device_data 数据量:2000w行左右 表结构 CREATE TABLE [dbo].[device_data]( [Id] [int] ID ...

  4. sql优化 慢查询分析

    查询速度慢的原因很多,常见如下几种 SQL慢查询分析 转自:https://www.cnblogs.com/firstdream/p/5899383.html 1.没有索引或者没有用到索引(这是查询慢 ...

  5. [转]一个用户SQL慢查询分析,原因及优化

    来源:http://blog.rds.aliyun.com/2014/05/23/%E4%B8%80%E4%B8%AA%E7%94%A8%E6%88%B7sql%E6%85%A2%E6%9F%A5%E ...

  6. SQL SERVER 查询性能优化——分析事务与锁(五)

    SQL SERVER 查询性能优化——分析事务与锁(一) SQL SERVER 查询性能优化——分析事务与锁(二) SQL SERVER 查询性能优化——分析事务与锁(三) 上接SQL SERVER ...

  7. mysql性能优化-慢查询分析、优化索引和配置

    一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_connec ...

  8. mysql优化:慢查询分析、索引配置优化

    一.优化概述二.查询与索引优化分析a.性能瓶颈定位show命令慢查询日志explain分析查询profiling分析查询b.索引及查询优化三.配置优化 max_connections back_log ...

  9. Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解

    Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解   Mysql慢查询开启 Mysql的查询讯日志是Mysql提供的一种日志记录,它用来记录在Mysql中响应 ...

随机推荐

  1. Java I/O 对象序列化

    我们知道对象的持持久化有三种方式: 1: 对象序列化 2: XML 3: 数据库技术 序列化可以帮助使得对象的生命周期不取决与程序是否正在执行,它可以生存于程序的调用之间. 只要将任何对象序列化到单一 ...

  2. Win7_关闭休眠文件hiberfil.sys

    1. C盘根目录下 hiberfil.sys 占用好几G空间,直接删 删不掉,也不推荐直接删. 2. 2.1.命令窗口中输入 powercfg -h off,即可关闭休眠功能,同时 Hiberfil. ...

  3. python操作postgresql数据库

    import psycopg2 conn = psycopg2.connect(database=") cur = conn.cursor() cur.execute("CREAT ...

  4. JavaSE复习_12 Socket网络编程

    △客户端使用Scanner与BufferedReader的异同,Scanner在客户端调用s.shutdownoutput的时候,将会因为读不到行而报异常,但是BufferedReader的readl ...

  5. Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

    这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException ...

  6. android坐标

    说来说去都不如 画图示意 简单易懂啊!!!真是的! 来吧~~先上张图~~! (一)首先明确一下 android 中的坐标系统 :      屏幕的左上角是坐标系统原点(0,0)      原点向右延伸 ...

  7. find和xargs

    find 命令的一般形式为 find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径.例如用.来表 ...

  8. mysql 截断

    当id为int是,如果是10位数,可以插入,primary key不能重复插入,其默认值可以为NULL一个varchar字段的值如果长度设定为255,则如果其长度为256也可以插入,但已经被截取到了2 ...

  9. Canu Quick Start(快速使用Canu)

    Canu Quick Start Canu Quick Start PBcR (老版的canu) CA Canu specializes in(专门从事) assembling PacBio or O ...

  10. linux笔记:linux系统安装-vmware虚拟机安装

    vmware版本:vmware8(百度云里备份了安装程序VMware_Workstation_wmb.zip) vmware软件安装过程: 1.在百度云中下载安装程序压缩包VMware_Worksta ...