SQL Server 索引优化-----数据库引擎优化顾问
本文将根据“数据库引擎优化顾问”(DTA)来发现无用或缺失的索引。
要使用“数据库引擎优化顾问”,首先需要对数据库负载进行监控,为数据库负载分析准备数据。从SSMS的工具中,打开SQL Server Profile,输入安全连接方式。在常规的标签下,模板选择“Standard(默认值)”,事件选择标签下,选择事件Stored Procedures→RPC:Completed;TSQL→SQL:BatchCompleted,SQL:BatchStarting,点击运行。如下图所示:
监控一段时间后,停止运行,将跟踪文件保存为trace.trc
在SSMS的工具下,打开“数据库引擎优化顾问”,建立安全连接,如下图。在“工作负荷”下选择跟踪文件所在的路径,选择“工作负荷分析的数据库”,这里我选择的tempdb;最后选择需要优化的数据库和表。
在优化选项中,“限定优化时间”可以不选,或者自己设定结束时间;“在数据库中使用的物理设计结构(PDS)”,选择“索引和索引视图(D)”;“使用的分区策略”选择“对齐分区(A)”;在数据库中保留的物理设计结构(PDS),我选择了“保留对齐分区(R)”,设定如下:
点击开始运行后,获得如下建议
通过测试可以了解到,最终的索引或分区建议,与Profile追踪的时间长短、时间段有关。如果工作负载不代表该数据库的典型工作负载,并且缺少重要的查询,那么索引建议也将是不完整的、不准确的或完全错误的。使用该方法的要求是:
在不影响生产环境的性能的情况下,尽可能的延长跟踪时间,搜集较多的事件;
将需要优化的数据库备份,还原到非生产环境服务器,进行分析(因为保证1的情况下,数据量会非常大,在原生产环境进行分析,会消耗大量的生产环境的资源CPU、IO,降低生产环境的性能,影响业务)
比较动态视图和数据库引擎优化顾问,两者的共同缺点都是可能因搜集的信息不全,导致建议不准确, 所以无论使用动态视图,还是使用数据库引擎优化顾问,其建议都需要审慎使用。
最后再重申一遍,虽然这些特性在确定可能对数据库有益的索引时非常有用,但它们也可能是一把双刃剑,在错误使用时弊大于利。盲目地实现这些特性的建议几乎总是会导致数据库中的索引重复或重叠,以及索引太多而不是太少。
SQL Server 索引优化-----数据库引擎优化顾问的更多相关文章
- SQL优化工具 - SQL Server Profiler与数据库引擎优化顾问
最近项目做到几千个学生分别去人脸识别记录(目前约630000行)中查询最后一次记录,可想而知性能这块是个麻烦.于是乎,GET到了SQL Server Profiler和数据库引擎优化顾问这俩工SHEN ...
- 降龙十八掌之一:(亢龙有悔)SQL Server Profiler和数据库引擎优化顾问
简介 说到Sql的[性能工具]真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底是做什么用的呢?我们都知道探查的意思大多是和监视有关,其实这个SQL S ...
- SQL Server Profiler和数据库引擎优化顾问
原文:SQL Server Profiler和数据库引擎优化顾问 简介 说到Sql的[性能工具]真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底 ...
- SQL Server 索引基本概念与优化
数据页和区 页 SQL Server 中的数据以“页”(Page)的形式保存数据,页是SQL Server 的IO单位,读/写一次至少是一页.一页为8K(8192byte). 页由三部分组成,页头,数 ...
- 【SQL server初级】数据库性能优化一:数据库自身优化(大数据量)
数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第一部分 数据库性能优化一:数据库自身优化 优化①:增加次数据文件,设置文件自动增长(粗略数据分区) 1.1:增加次数据文 ...
- 【SQL server初级】数据库性能优化三:程序操作优化
数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第三部分 数据库性能优化三:程序操作优化 概述:程序访问优化也可以认为是访问SQL语句的优化,一个好的SQL语句是可以减少 ...
- 安装SQL Server提示“等待数据库引擎恢复句柄失败”
1.如果MSSQLSERVER服务已经启动,则停止. 2.以管理员身份打开命令行,执行命令:"C:\Program Files\Microsoft SQL Server\MSSQL10_50 ...
- Sql Server CPU 性能排查及优化的相关 Sql
Sql Server CPU 性能排查及优化的相关 Sql 语句,非常好的SQL语句,记录于此: --Begin Cpu 分析优化的相关 Sql --使用DMV来分析SQL Server启动以来累计使 ...
- SQL Server 事件探查器和数据库引擎优化顾问
简介 说到Sql的[性能工具]真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底是做什么用的呢?我们都知道探查的意思大多是和监视有关,其实这个SQL S ...
随机推荐
- 原创:logistic regression实战(一):SGD Without lasso
logistic regression是分类算法中非常重要的算法,也是非常基础的算法.logistic regression从整体上考虑样本预测的精度,用判别学习模型的条件似然进行参数估计,假设样本遵 ...
- DEA Push rejected: Push to origin/master was rejected问题的解决方法
打开需要上传文件所在的文件夹 使用git bash git pull origin master –allow-unrelated-histories git push -u origin maste ...
- SDN上机第三次作业
1. 利用Mininet仿真平台构建如下图所示的网络拓扑,配置主机h1和h2的IP地址(h1:10.0.0.1,h2:10.0.0.2),测试两台主机之间的网络连通性 使用miniedit进行创建操作 ...
- 作业——11 分布式并行计算MapReduce
作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3319 1.用自己的话阐明Hadoop平台上HDFS和MapRedu ...
- vue+elementui搭建后台管理界面(6登录和菜单权限控制)
不同的权限对应不同的路由(菜单),同时侧边栏也根据权限异步生成,实现登录和鉴权思路如下: 登录:点击登录,服务器验证通过后返回一个 token ,然后存到 cookie,再根据 token 拉取用户权 ...
- Java-Maven(十二):idea多项目:common module进行compiler和install正常,运行domain-perf module提示:Could not resolve dependencies for project
前提: product项目下有三个module,分别是: driver module domain-perf module common module 问题: driver 和 domain-perf ...
- composer.json和composer.lock有什么区别?
我们在做项目的时候,总是要安装一些依赖.composer给我们提供了很多方便.直接运行composer install. 当我们运行composer install 将会读取composer.lo ...
- python2.7报错Non-ASCII character '\xe5' in file的解决方法
在文件首行加#coding=utf-8,一定要在最顶行添加
- spark streaming流式计算---监听器
随着对spark的了解,有时会觉得spark就像一个宝盒一样时不时会出现一些难以置信的新功能.每一个新功能被挖掘,就可以使开发过程变得更加便利一点.甚至使很多不可能完成或者完成起来比较复杂的操作,变成 ...
- 报错:sqoop2执行job时:Exception: Job Failed with status:3
报错背景: 创建完成sqoop2的一个job,主要功能是将数据从hdfs存到mysql数据库中. 执行job的时候发生报错. 报错现象: sqoop:> start job -j -s Subm ...