3-3 SQL Server 2005数据库优化

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

3-3 SQL Server 2005数据库优化

u       了解数据库引擎优化顾问基本内容
u       掌握数据库引擎优化顾问的使用
u       掌握通过命令行的方式进行索引的优化——DTA
   
一个数据库系统的性能依赖于组成这些系统的数据库中物理设计结构的有效配置。这些物理设计结构包括索引、聚集索引、索引视图和分区等,其目的在于提高数据库的性能和可管理性。 SQL Server 2005 提供了一套综合的工具,用于优化物理数据库的设计,其中数据库引擎优化顾问,是分析一个或多个数据库上工作负荷(对要做出优化的数据库而编写的一组 T-SQL 语名句)的性能效果的工具。本节主要介绍数据库引擎优化顾问的使用。
3-3-1 数据库引擎优化顾问概述
数据库引擎优化顾问是一种工具,用于分析在一个或多个数据库中运行的工作负荷的性能效果。工作负荷是对在优化的数据库招待的一组 T-SQL 语句。分析数据库的工作负荷效果后,数据库引擎优化顾问会提供在 SQL Server 2005  数据库中添加、删除或修改物理设计结构的建议。这些物理性能结构包括聚集索引、非聚集索引、索引视图和分区。实现这些结构之后,数据库引擎优化顾问使查询处理器能够用最短的时间性执行工作负荷任务。
3-3-2 数据库引擎优化顾问的使用
数据库引擎优化顾问提供了两种使用方式:
1.    图形界面。用于优化数据库、查看优化建议和报告的工具。
2.    命令行实用工具程序 dta.exe 。用于实现数据库引擎优化顾问在软件程序和脚本方面的功能。
     下面,我们通过案例的形式介绍数据库引擎优化的具体过程
实验 1 :数据库索引优化的基本步骤
第一步:启动 SQL Server Profiler ,准备生成负载测试文件,如图 3-6 所示。
第二步:启动“新建跟踪”项,准备配置跟踪文件内容,如图 3-7 所示。

 

 

3-6 启动SQL Server Profiler                      3-7 启动“新建跟踪”项

第三步:登录服务器后,配置跟踪属性,点击保存到文件,将跟踪的 TSQL 脚本结果保存到用户选择的 trc 文件中,同时启动文件滚动更新,从而滚动记录数据库工作过程中的负荷反馈信息。点击运行,启动负荷跟踪,如图 3-8 所示。
3-8 配置跟踪文件
第四步:启动后将执行相关的 TSQL 脚本,并将执行的结果记录到用户指定的 trc 文件中。由于是滚动执行的,因此该 trc 文件随着时间的推移将逐渐变大。因此,这种跟踪一般是由 DBA 根据一天平均时候的用户访问量时段进行记录比较容易反映出数据库服务器在建构过程中的索引问题,如图 3-9 所示。
3-9 监控运行开始
第五步:工作负荷工作执行完毕后,将形成一个 TRC 文件,至此负载跟踪工作任务完成。随后启动数据库引擎优化顾问,如图 3-10 所示。数据库引擎优化顾问主要用于优化数据库以及查看优化的建议和报告的单独图形化用户界面。
3-10 启动数据库引擎优化顾问
第六步:在弹出的引擎优化顾问界面中,选择工作负荷为文件,在弹出的选择 工作负荷文件 的对话框中,选择刚才生成的工作负荷文件。鼠标左键单击工具栏中的绿色三角标按钮开始执行优化操作。如图 3-11 所示。
3-11 选择负载文件
  注意:
此时在优化过程中,经常会出现“正在占用工作负荷”的错误。主要原因是默认的存储空间必须大于2MB才可以,故我们选择优化进度中的高级选项,将建议最大空间改称为100MB,如图3-12所示。
 
3-12 
第七步:当问题纠正后既可成功运行,随后会出现一份系统报告,根据报告建议对用户数据库信息内容进行索引优化即可,如图 3-13 所示。
实验 2 :通过命令行的方式进行索引的优化—— DTA
第一步:启动操作系统的命令行界面,键入 dta/? 命令,即可查看 dta 的基本命令参数,如图 3-14 所示。

 

 

         3-13 成功优化后的界面                  3-14 命令行方式查看dta的参数
第二步:将实验 1 通过 SQL Server Profiler 生成的 qs.trc 文件作为负载测试文件,将之复制到 c 盘的根目录下,按照图 3-15 所示逐一键入命令,注意大小写和空格。该命令的参数意义是: -E  使用可信任连接连接到服务器; -D  待优化的数据库名称; -if  加载的负载测试文件; -s  一个测试实例的名称; -B  建议占用的最大空间。

3-15 命令行方式运行dta的命令
 
l        了解事务的类型包括那些内容;
l        掌握事务处理的四种基本语句和具体的应用;
l        了解如何编写有效的事务;
l        数据库并发控制的概念;
l        了解锁的四种不同模式及内涵;
l        学习查看锁的基本信息,了解死锁及处理机制;
l        了解数据库引擎优化顾问,并掌握数据库索引优化的基本步骤,掌握通过命令行的方式进行索引的优化 DTA
 
一 .  填空题
1、事务是用户定义的一个________________,这些操作要么__________要么__________,是一个__________
2、关系型数据库有4个显著的特征:____________________________
3、事务要求处理时必须满足ACID原则,即____________________________
4、根据系统的设置,SQL Server 2005将事务分为两种类型分别是______________
5、事务处理语句共包括四种:分别是BEGIN TRANSAVTION语句,意思是_____________COMMIT TRANSACTION语句,意思是_____________ROLLBACK TRANSACTION语句,意思是_____________SAVE TRANSACTION语句,意思是_____________
6SQR SERVER 2005 提供了4种锁模式,分别是____________________________
7、通过命令行的方式进行索引的优化的命令是_______
二 .  简答题
1、请简述如何编写有效的事务?
2、简述锁,脏读,不可重复读,幻觉读的概念,
3、请简述在哪两种情况下,可以发生死锁?发生死锁的时候应当如何处理?

 





本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/352096,如需转载请自行联系原作者

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
8天前
|
SQL 存储 数据库
优化数据库查询性能
【8月更文挑战第23天】优化数据库查询性能
30 7
|
6天前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
27 5
|
3天前
|
缓存 NoSQL 数据库
Web服务器与数据库优化:提升系统性能的最佳实践
【8月更文第28天】在现代的Web应用中,Web服务器与后端数据库之间的交互是至关重要的部分。优化这些组件及其相互作用可以显著提高系统的响应速度、吞吐量和可扩展性。本文将探讨几种常见的优化策略,并提供一些具体的代码示例。
11 1
|
7天前
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
10 3
|
8天前
|
监控 数据库 索引
如何优化数据库索引?
【8月更文挑战第23天】如何优化数据库索引?
27 4
|
5天前
|
SQL
慢sql治理问题之 Task 数量分布不均的问题你们是如何优化的
慢sql治理问题之 Task 数量分布不均的问题你们是如何优化的
慢sql治理问题之 Task 数量分布不均的问题你们是如何优化的
|
6天前
|
SQL 缓存 监控
优化大型数据库查询的最佳实践
在处理大规模数据时,数据库查询性能的优化至关重要。本文探讨了几种优化大型数据库查询的最佳实践,包括索引策略、查询重写、数据分区和缓存机制。通过这些方法,开发人员可以显著提高查询效率,减少系统负担,提升用户体验。本文还结合实际案例,提供了具体的优化技巧和工具建议,帮助读者有效地管理和优化大型数据库系统。
|
7天前
|
SQL 关系型数据库 MySQL
【MySQL 慢查询秘籍】慢SQL无处遁形!实战指南:一步步教你揪出数据库性能杀手!
【8月更文挑战第24天】本文以教程形式深入探讨了MySQL慢SQL查询的分析与优化方法。首先介绍了如何配置MySQL以记录执行时间过长的SQL语句。接着,利用内置工具`mysqlslowlog`及第三方工具`pt-query-digest`对慢查询日志进行了详细分析。通过一个具体示例展示了可能导致性能瓶颈的查询,并提出了相应的优化策略,包括添加索引、缩小查询范围、使用`EXPLAIN`分析执行计划等。掌握这些技巧对于提升MySQL数据库性能具有重要意义。
34 1
|
9天前
|
SQL 存储 监控
ADBPG&Greenplum成本优化问题之通过SQL查询找到数据库中所有的复制表如何解决
ADBPG&Greenplum成本优化问题之通过SQL查询找到数据库中所有的复制表如何解决
25 1
|
5天前
|
SQL 资源调度 流计算
慢sql治理问题之在 Flink 中, userjar 分发问题如何优化
慢sql治理问题之在 Flink 中, userjar 分发问题如何优化

热门文章

最新文章

下一篇
云函数