您的位置:首页 > 数据库

数据库引擎优化顾问

2012-04-05 16:16 801 查看
数据库引擎优化顾问概述: 一种工具,用于分析在一个或多个数据库中运行的工作负荷的性能效果  工作负荷是对要优化的数据库执行的一组Transact-SQL语句  分析数据库的工作负荷效果后,数据库引擎优化顾问会提供在数据库中添加、删除或修改物理设计结构的建议 
使用数据库引擎优化顾问优化数据库并不需要数据库结构、工作负荷或SQL Server内部工作方面的专业知识

                               提供两种表现形式: 图形用户界面  dta.exe 

如何使用数据库引擎优化顾问呢?





通过开始--程序--Microsoft SQL Server 2005--性能工具--选择数据库引擎优化顾问来打来它--按连接





对着桌面右键--按新建--选择文本文档--我把它起名为demo1.sql





对着demo1.sql右键--选择编辑--在里面输入select FirstName,LastName from Person.Contact where LastName
= 'Abercrombie'; go





在用于工作负荷分析的数据库里面选择AdventureWorks--在选择要优化的数据库和表里面把AdventureWorks沟上--按查找工作负荷文件键--按桌面--按demo1.sql这个文件--按打开--按开始分析





可以看到查询分析完成了  把显示现有对象沟上--可以看到只有一个建议(create)  因为查询条件比较少 所以建议的量也比较少

使用dta实用工具: 使用dta实用工具的默认设置优化数据库-->dta-E-D DatabaseName -if WorkloadFile -s SessionName 
在特定的持续时间内优化远程数据库或命名实例-->dta -S ServerName\Instance -D DatabaseName -it WorkloadTableName -U LoginID -P Password -s SessionName -A TuningTimeInMinutes  使用XML输入文件优化数据库-->dta -E -S ServerName\Instance -s SessionName -ix Path To XML InputFile

工作负荷: 由Transact-SQL脚本或SQL Server Profiler跟踪组成-->仅联机事务处理(OLTP)查询 仅联机分析处理(OLAP)查询 OLTP和OLAP混合查询
大量查询工作负荷(查询比更新多) 大量更新工作负荷(更新比查询多)

工作负荷设置最佳实践: 跟踪表必须存在于数据库引擎优化顾问正在优化的同一台服务器上 在使用跟踪表作为数据库引擎优化顾问的工作负荷之前,确保跟踪已停止 在将跟踪文件用作工作负荷时,数据库引擎优化顾问会假定它是滚动更新文件
数据库引擎优化顾问在优化过程中提交显示计划请求 MSDB数据库

与SQL Server 2000中索引优化向导的比较: 优化数据库所需的权限 索引优化向导在一个优化会话中只能优化一个数据库

与SQL Server 2000中索引优化向导的比较-工作负荷上下文: SQL Server 2000-->工作负荷上下文 TuneQuery.sql: SELECT
FirstName,LastName FROM Person.Contact WHERE LastName = 'Abercrombie'; GO  在默认情况下,User1连接到MyDB数据库-->Itwiz -D AdventureWorks -I TuneQuery.sql -o rec.sql -U<username> -P <password>

    SQL Server 2005-->在默认情况下,User1连接到MyDB数据库: dta -s Session1 -D AdventureWorks -if
TuneQuery.sql -of rec.sql -U username -P password  应: USE AdventureWorks  Select...

与SQL Server 2000中索引优化向导的比较-优化时间限制-->在SQL Server 2005中,数据库引擎优化顾问允许指定优化时间,或指定一个无限制的优化时间。索引优化向导无此功能:
图形用户界面,此参数默认设置为1小时 在dta工具中,此默认限制设置为8小时-->dta -E -s MySession -D AdventureWorks -if MyWorkloadScript.sql -fa IDX -A 120  

数据库引擎优化顾问的功能-->通过使用查询优化器分析工作负荷中的查询, 推荐数据库的最佳索引组合 为工作负荷中引用的数据库推荐对齐分区或非对齐分区 推荐工作负荷中引用的数据库的索引视图
分析所建议的更改将会产生的影响,包括索引的使用,查询在表之间的分布,以及查询在工作负荷中的性能 推荐为执行一个小型的问题查询集而对数据库进行优化的方法 允许通过指定磁盘空间约束等高级选项对推荐进行自定义 提供对所给工作负荷的建议执行效果的汇总报告 考虑备选方案,即: 您以假定配置的形式提供可能的设计结构方案,供数据库引擎优化顾问进行评估

数据库引擎优化顾问不能: 建议对系统表建立索引。添加或删除唯一索引或强制PRIMARY KEY或UNIQUE约束的索引。优化单用户数据库。

数据库引擎优化顾问的限制: 数据库引擎优化顾问通过数据采样收集统计信息 数据库引擎优化顾问不能用于优化Microsoft SQL Server 7.0或更早版本的数据库中的索引
数据库引擎优化顾问不能优化驻留在远程服务器上的跟踪表中的工作负荷

数据库引擎优化顾问在下列情况下不提供建议: 

                                                     正在优化的表所包含的数据页数少于10。 

                                                     建议的索引对当前物理数据库设计的查询性能预计带来的提高值不够。

                                                     运行数据库引擎优化顾问的用户不是db_owner数据库角色或sysadmin固定服务器角色的成员。

来自http://yejunsheng.blog.51cto.com/793131/164276
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息