运用工具优化数据库设计(Database Engine Tuning Advisor)

转载 2007年09月27日 16:34:00

Data Engine Tuning Advisor 是SqlServer自带的数据库性能调优工具之一,我们一起来学习一下怎么用这个工具优化数据库设计

Database Engine Tuning Advisor Tuning 的功能

 

索引优化

我们结合示例来看看怎么用调优工具优化索引:

准备工作

我们使用一个缺少索引测试表,来看看在简单的查询条件下,工具能给出什么推荐方案

在我的数据库中有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 使用工具优化数据库性能

http://www.cnblogs.com/yizhu2000/archive/2007/08/06/844394.html

再谈数据库优化(database tuning)的真谛和误区

本文为作者最近几天看到论坛里的评论和群里的讨论,临时有感而发。目前性能问题确实越来越多和越来越迫切,而真正掌握的人也不是很多,因此,一些尚待商榷的观点和经验导出流传,对用户和初学者影响很大,本文结合平...
  • LHDZ_BJ
  • LHDZ_BJ
  • 2016年03月19日 23:24
  • 356

初次使用SQL调优建议工具--SQL Tuning Advisor

在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包。使用STA一定要保证优化器是CBO模式下。...

数据库设计方法学概述(Database Solutions.Second Edition)

以下内容摘抄自 Database Solutions.Second Edition  数据库设计中的关键成功因素:     下述方针对于成功进行数据库设计是很重要的:          ·尽可...

数据库设计(Database Design)

数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。 在数据库领...

DATABASE_DESIGN数据库设计课件

  • 2009年09月26日 20:17
  • 2.24MB
  • 下载

用 SQL Tuning Advisor (STA) 优化SQL语句

转自http://blog.csdn.net/tianlesoftware/article/details/5630888 在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计...

如何用 SQL Tuning Advisor (STA) 优化SQL语句

在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等。在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:运用工具优化数据库设计(Database Engine Tuning Advisor)
举报原因:
原因补充:

(最多只允许输入30个字)