3-3 SQL Server 2005数据库优化

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

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
目录
相关文章
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第六章(操作本地数据库前置知识优化)
【4月更文挑战第6天】本文介绍了Node.js操作本地数据库的前置配置和优化,包括处理接口跨域的CORS中间件,以及解析请求数据的body-parser、cookie-parser和multer。还讲解了与MySQL数据库交互的两种方式:`createPool`(适用于高并发,通过连接池管理连接)和`createConnection`(适用于低负载)。
13 0
|
12天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
12天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
74 6
|
1天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
1天前
|
SQL 缓存 数据库
sql 数据库优化
SQL数据库优化是一个复杂且关键的过程,涉及多个层面的技术和策略。以下是一些主要的优化建议: 查询语句优化: 避免全表扫描:在查询时,尽量使用索引来减少全表扫描,提高查询速度。 使用合适的子查询方式:子查询可能降低查询效率,但可以通过优化子查询的结构或使用连接(JOIN)替代子查询来提高性能。 简化查询语句:避免不必要的复杂查询,尽量使SQL语句简单明了。 使用EXISTS替代IN:在查询数据是否存在时,使用EXISTS通常比IN更快。 索引优化: 建立合适的索引:对于经常查询的列,如主键和外键,应创建相应的索引。同时,考虑使用覆盖索引来进一步提高性能。 避免过多的索引:虽然索引可以提高查询
|
1天前
|
SQL 分布式计算 资源调度
一文解析 ODPS SQL 任务优化方法原理
本文重点尝试从ODPS SQL的逻辑执行计划和Logview中的执行计划出发,分析日常数据研发过程中各种优化方法背后的原理,覆盖了部分调优方法的分析,从知道怎么优化,到为什么这样优化,以及还能怎样优化。
|
7天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
15 0
|
7天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。
|
8天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
8天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
33 3

热门文章

最新文章