SQL Server跟踪数据实现索引优化向导
作者:shayang 发布时间:2009-02-13 17:14:00
使用SQL Server事件探查器工具,你可用一个捕获到的跟踪来收集有关服务器的重要信息。与索引优化向导(Index Tuning Wizard,ITW)以及正确的常规索引信息配合,这种跟踪可帮助你调试SQL Server应用程序并优化性能。本文将逐步指导你获取跟踪数据,并在ITW中实际使用它。
SQL Server性能优化
请参考以下文章,了解如何优化SQL Server应用程序的性能:
优化SQL Server索引的小技巧;
使用索引调节向导调整应用程序的性能;
使用查询分析器调整SQL服务器脚本;
索引优化向导。
从SQL Server事件探查器捕获到的任何跟踪都可用于ITW。一旦收集好你的跟踪(收集到文件或数据库表中),就可运行ITW,并利用你刚才捕获的数据。
图A
选择一个向导
要初始化ITW(参见图A),请单击【运行向导】图标,再选择【管理】|【索引优化向导】。另外,还可直接在命令提示行中执行itwiz.exe,这在远程调节SQL Server时尤其有用。
接着(参见图B),你可更改事先选择的服务器,它应呈现为灰色,再从下拉列表中选择想优化的数据库。
图B
还可在图B中撤选或选择【保留所有现有索引】复选框。如果撤选,SQL Server就会尽最大努力来推荐最佳的索引架构,但同时也会增加操作时间,而且会对数据库带来最高的负荷。
还可让SQL Server为你创建索引视图,它将作为向导输出内容的一部分提供。索引视图可用于多种场合。图B最后一部分包含了优化模式选项。注意如果选择彻底优化,那么整个过程会花费可观的时间,具体取决于工作文件的大小、记录数以及你准备分析的索引数目。
在此过程中,SQL Server的性能会受到严重影响,所以在操纵这些选项时,要特别注意你的工作环境。例如,如果你有一个生产型OLTP数据库,但日志记录到一个OLAP服务器,那么应该针对OLAP数据库来运行向导,再将建议的更改应用于这两个系统。
图C
如图C所示,你可使用文件或数据库跟踪来初始化向导。第3个选项(在图C中呈现灰色不可用状态)只有在你从查询分析器中运行ITW时才可使用。显然,查询分析器允许你定位一个较小的问题集,而不必面对一个包容面更广的事件探查器跟踪。
图D
图D展示了高级选项。可在此设置3个参数。首先,你可限制ITW要在跟踪中使用的查询数。对于较大的跟踪,这有助于缩短ITW的工作时间。但是,这个选项的精确度不够高,因为一旦指定的数目低于查询总数,那么ITW使用的查询将是随机选择的。其次,你可指定索引最多消耗多少MB的空间。最后,你可设置ITW尝试实现的最大列数,默认是16个列。
图E
图E显示了你如何选择想让向导检查的表。显然,你的跟踪需要针对这些表捕获最有代表性的活动,向导才能最好地发挥作用。同样地,选择的表越多,优化时间越长。
图F
图F显示了向导的建议,你可选择要由向导采取的行动(如果有的话)。
图G
还可查看如图G所示的分析,更好地理解向导给出的建议。
图H
接着,你可选择是让SQL Server立即应用更改(如图H所示),还是安排在以后某个时间进行。另外,还可将包含了推荐更改的一个脚本保存下来。
图I
最后,在如图I所示的屏幕中,可以选择退回去查看以前的屏幕,选择完成,或者选择取消向导。
猜你喜欢
- <script language="vbscript" runat="s
- 现在的高手真是越来越多,我刚发现一个版主兄竟然在不支持数据库的ISP免费主页上使用数据库,套用QQ聊天的一句话就是:Faint!明明人家IS
- 一般情况下,访问或设置剪贴板,IE 只需使用 window.clipboardData 的 getData 或 setData 方法即可。M
- 如果你有一字段dm记录了一个url,为了更好的优化模糊查询速度或统计速度,在数据表原有的结构上增加3个字段,分别为 `sdm`
- 复制代码CREATE FUNCTION fGetStrBySplit ( @Source VARCHAR(max), @Index INT,
- jquery基本入门 第一天:选择器相关 1.html()与.text() .html()取得第一个匹配元素的html内容。会带有标签,.t
- 顽固的Select下拉列表,一般很难用css来控制样式下面使用了js来美化select<!DOCTYPE html PUBLIC &q
- 注册模块default.asp 代码如下:<!DOCTYPE html PUBLIC "-//
- 或许你知道,Internet Explorer 6 已经不是最先进的浏览器了。事实上,它已经八岁了,但是很多人还在使用这个不安全的浏览器。正
- #BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大#TYPE:
- 下面的asp函数实现了对站点的所有缓存Application的清理,释放!Sub RemoveAllCache() D
- 如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一
- 不知道大家在做网站时有没有给目录名或者文件名添加”( )”的习惯,有则改之,无则加勉。因为他有潜在的危险,起码就被我遇到了。要使页面能够使用
- 决定数据类型的第一步是定义所存数数据的分类: 数值型, 字符串型还是临时型等;除了一些特别的并不是那么直观的外, 这通常是很直观的。接下来是
- 还是决定冠上ajax的头衔,毕竟很多人会用这个关键词搜索。虽然我认为这只是个炒作的概念,不过不得不承认ajax叫起来要方便多了。ajax的意
- 上一篇的DOCTYPE声明好以后,接下来的代码是:<html xmlns="xhtml" ta
- 选项default-charaset-set=utf8;然后创建一个数据表 create table a_table(b varchar(2
- 从今天起,我将陆续将 ppk on JavaScript 的读书心得发布到这个blog上。ppk是我所景仰的一位web开发者,原因无它,只是
- 代码如下:'************************************ '截取文字长度函数,支持UT
- 平时在写asp代码的时候有很多重复的内容要写,麻烦的要命,比如在收集表单提交的数据时,特别是表单的输入域比较多时,要不断写好多的reques