Database Engine Tuning Advisor 使用工具优化数据库性能
2014-09-10 11:50
666 查看
/article/4922953.html
很重要!
运用工具优化数据库设计(Database Engine Tuning Advisor)
Data Engine Tuning Advisor 是SqlServer自带的数据库性能调优工具之一,我们一起来学习一下怎么用这个工具优化数据库设计
Database Engine Tuning Advisor Tuning 的功能
Recommend the best mix of indexes for databases by using the query optimizer to analyze queries in a workload.
[翻译]通过查询优化器分析实际工作负载下的查询,推荐最好的索引组合
Recommend aligned or non-aligned partitions for databases referenced in a workload.
[翻译]为工作状态下用到的数据库推荐对齐(aligned)和非对齐(non-aligned)分区
Recommend indexed views for databases referenced in a workload.
[翻译]为工作状态下用到的数据库推荐带索引的试图
Analyze the effects of the proposed changes, including index usage, query distribution among tables, and query performance in the workload.
[翻译]分析工作状态下,对某种变更的效果进行评估,包括索引用法,表间查询分布,查询效果
Recommend ways to tune the database for a small set of problem queries.
[翻译]对一些有问题的查询进行调优推荐
Allow you to customize the recommendation by specifying advanced options such as disk space constraints.
[翻译]可以通过高级设置,比如磁盘空间大小限制来影响其作出的推荐方案
Provide reports that summarize the effects of implementing the recommendations for a given workload.
[翻译]提供工作状态中其推荐方案的具体实现的效果报告
Consider alternatives in which you supply possible design choices in the form of hypothetical configurations for Database Engine Tuning Advisor to evaluate.
[翻译]分析替代方案,你可以提供不同假设的配置下的设计方案供Database Engine Tuning Advisor分析
索引优化
我们结合示例来看看怎么用调优工具优化索引:
准备工作
我们使用一个缺少索引测试表,来看看在简单的查询条件下,工具能给出什么推荐方案
在我的数据库中有Orders表,其字段如下图,其中大约有50w行数据,在这里我故意没有给Info字段建立索引
创建一个sql语句,模拟实际情况的查询,在这个例子里我们使用一个简单的查询语句
Use [ZhuYiTestDataBase2]--注意一定要记住加上Use的数据库
select * from Orders where Info<>'abc'--我们用了一个没有索引的字段作为查询条件,性能一定不高,看看DETA会有什么高见
并保存为一个.sql文件(在实际运用中,一般一个查询可能要复杂的多)
开始优化
1)运行Database Engine Tuning Advisor,并创建一个Session
2)配置session
在新建的session的配置选项卡中点击General选项卡(如图),进行一些常用配置,有如下项需要配置
Session Name:可以为Session起一个名字,默认为用户加创建时间
Workload:工作负载,可以从一个文件,可以从表,我们这个例子里就是我们刚才创建的sql文件,DETA会分析这个语句的执行情况,给出优化建议
Select database and table to tune:选择需要优化的数据库和表,在本例中就是我们刚才看到Orders表
Save tuning log:是否保存优化日志
点击TuningOption选项卡,进行一些高级选项的配置(如图)
首 先我们要选择需要对哪些配置进行优化,在"Physical Design Structures To Use In DataBase"的复选框组中中我们可以需要优化指定索引,索引视图,聚焦索引,或者非聚焦索引,我在本例里面选择Index,这个选项包括聚焦和非聚 焦索引.
接着还有分区(partion)的选择,这个复选框组在实际运用中非常有用,通过查询,可以分析出哪些数据访问频率高,哪些低,从而给出分区的方案,在本例里面我们简单的选择no partition
3)运行分析
点击Action菜单下的Start Analysis,或者运行快捷方式栏的Start Analysis(如图)
4)查看分析结果
等待一段时间后,程序给出了分析结果
从中可以看到聪明的DETA发现了查询中作为条件的Info字段没有索引,建议我们创建一个索引,点击可以看到他的创建脚本(如图)
总结
Database Engine Tuning Advisor的功能远不只这些,我会在接下来的文章里陆续讲一些其他的用法,这里给出一些资源连接,大家可以自己学习
techNet上的参考
http://technet.microsoft.com/en-us/library/ms166805(SQL.90).aspx
繁体中文版本的
http://technet.microsoft.com/zh-tw/library/ms173448(SQL.90).aspx
很重要!
运用工具优化数据库设计(Database Engine Tuning Advisor)
朱燚
--书到读透处,酒于微醺时Data Engine Tuning Advisor 是SqlServer自带的数据库性能调优工具之一,我们一起来学习一下怎么用这个工具优化数据库设计
Database Engine Tuning Advisor Tuning 的功能
Recommend the best mix of indexes for databases by using the query optimizer to analyze queries in a workload.
[翻译]通过查询优化器分析实际工作负载下的查询,推荐最好的索引组合
Recommend aligned or non-aligned partitions for databases referenced in a workload.
[翻译]为工作状态下用到的数据库推荐对齐(aligned)和非对齐(non-aligned)分区
Recommend indexed views for databases referenced in a workload.
[翻译]为工作状态下用到的数据库推荐带索引的试图
Analyze the effects of the proposed changes, including index usage, query distribution among tables, and query performance in the workload.
[翻译]分析工作状态下,对某种变更的效果进行评估,包括索引用法,表间查询分布,查询效果
Recommend ways to tune the database for a small set of problem queries.
[翻译]对一些有问题的查询进行调优推荐
Allow you to customize the recommendation by specifying advanced options such as disk space constraints.
[翻译]可以通过高级设置,比如磁盘空间大小限制来影响其作出的推荐方案
Provide reports that summarize the effects of implementing the recommendations for a given workload.
[翻译]提供工作状态中其推荐方案的具体实现的效果报告
Consider alternatives in which you supply possible design choices in the form of hypothetical configurations for Database Engine Tuning Advisor to evaluate.
[翻译]分析替代方案,你可以提供不同假设的配置下的设计方案供Database Engine Tuning Advisor分析
索引优化
我们结合示例来看看怎么用调优工具优化索引:
准备工作
我们使用一个缺少索引测试表,来看看在简单的查询条件下,工具能给出什么推荐方案
在我的数据库中有Orders表,其字段如下图,其中大约有50w行数据,在这里我故意没有给Info字段建立索引
创建一个sql语句,模拟实际情况的查询,在这个例子里我们使用一个简单的查询语句
Use [ZhuYiTestDataBase2]--注意一定要记住加上Use的数据库
select * from Orders where Info<>'abc'--我们用了一个没有索引的字段作为查询条件,性能一定不高,看看DETA会有什么高见
并保存为一个.sql文件(在实际运用中,一般一个查询可能要复杂的多)
开始优化
1)运行Database Engine Tuning Advisor,并创建一个Session
2)配置session
在新建的session的配置选项卡中点击General选项卡(如图),进行一些常用配置,有如下项需要配置
Session Name:可以为Session起一个名字,默认为用户加创建时间
Workload:工作负载,可以从一个文件,可以从表,我们这个例子里就是我们刚才创建的sql文件,DETA会分析这个语句的执行情况,给出优化建议
Select database and table to tune:选择需要优化的数据库和表,在本例中就是我们刚才看到Orders表
Save tuning log:是否保存优化日志
点击TuningOption选项卡,进行一些高级选项的配置(如图)
首 先我们要选择需要对哪些配置进行优化,在"Physical Design Structures To Use In DataBase"的复选框组中中我们可以需要优化指定索引,索引视图,聚焦索引,或者非聚焦索引,我在本例里面选择Index,这个选项包括聚焦和非聚 焦索引.
接着还有分区(partion)的选择,这个复选框组在实际运用中非常有用,通过查询,可以分析出哪些数据访问频率高,哪些低,从而给出分区的方案,在本例里面我们简单的选择no partition
3)运行分析
点击Action菜单下的Start Analysis,或者运行快捷方式栏的Start Analysis(如图)
4)查看分析结果
等待一段时间后,程序给出了分析结果
从中可以看到聪明的DETA发现了查询中作为条件的Info字段没有索引,建议我们创建一个索引,点击可以看到他的创建脚本(如图)
总结
Database Engine Tuning Advisor的功能远不只这些,我会在接下来的文章里陆续讲一些其他的用法,这里给出一些资源连接,大家可以自己学习
techNet上的参考
http://technet.microsoft.com/en-us/library/ms166805(SQL.90).aspx
繁体中文版本的
http://technet.microsoft.com/zh-tw/library/ms173448(SQL.90).aspx
相关文章推荐
- 运用工具优化数据库设计(Database Engine Tuning Advisor)
- 数据库优化不能不知道的工具:Database Engine Tuning Advisor【原创】
- 运用工具优化数据库设计(Database Engine Tuning Advisor)
- 运用工具优化数据库设计(Database Engine Tuning Advisor)
- Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor
- Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor
- 使用 Profiler 和 Database Engine Tuning Advisor 对Sql server 进行优化
- 利用Database Engine Tuning Advisor改善数据库性能
- Database Engine Tuning Advisor数据库引擎优化顾问--zt
- [Sql2005笔记] Sql2005性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解
- OCM_第十四天课程:Section6 —》数据库性能调优_各类索引 /调优工具使用/SQL 优化建议
- 数据库性能优化-1-使用SQL Server Profiler工具和执行计划分析
- Sql2005性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解
- Sql2005性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解
- SAP HANA 数据库性能优化(SAP HANA DataBase Performance Tuning)
- Sql2005性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解
- SQL Server 性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解
- 如何使用REORG TABLE命令优化数据库性能
- 怎样提高SQL Server 2005 性能,以及优化工具的使用
- 网页速度分析 && 网页头文件解析 && 性能优化 && httpwatch工具使用