数据库性能优化之sql语句优化(DBA大神成长轨迹二)(1)

一、性能优化工具1.1 日志分析1.1.1 PerforMonitor1、内存2、磁盘3、CPU4、SQL Server1.1.2 PAL

PAL(日志性能分析)工具读入性能监视器计数器日志(任何已知格式)并使用复杂但已知的阈值(已提供)对其进行分析。该工具生成基于 HTML 的报告,以图形方式绘制重要的性能计数器并在超过阈值时发出警报。这些阈值最初基于 Microsoft 产品团队(包括 BizTalk Server)和 Microsoft 支持成员定义的阈值。该工具不能替代传统的性能分析,但它可以自动分析性能计数器日志,足以帮助您节省时间。PAL 工具:

1.2、DMV&DMO

Microsoft SQL Server 在2005以后提供了一些工具来监控数据库,这对我们进行数据库方面的调优提供了极大的便利,下面我们就来了解一下DMO和他的孩子DMV[动态管理视图]。

首先我们先要看下DMO都能做些什么?

  1. 执行相关的DMO(sys.dm_exec_*):提供与执行相关的统计信息。可以用于监控与缓存查询、执行计划、活动连接/会话和带有执行计划的当前运行的查询的相关统计信息。
  2. 索引相关的DMO(sys.dm_db_index*和sys.dm_db_missing*):提供关于索引的统计信息。这些DMO可以用于监控和分析因为丢失索引、无效索引而导致的性能问题,也可以用来检查索引的使用情况。
  3. 数据库相关DMO(sys.dm_db_*):提供数据库相关统计信息。可以用于监控和分析数据库的性能问题,分析数据库相关文件的统计信息、会话统计信息和任务统计信息。
  4. I/O相关DMO(sys.dm_io_*):提供I/O操作的统计信息,用于监控和分析SQLServer的I/O性能问题。
  5. OS相关DMO(sys.dm_os_*):提供关于sqlos内部统计信息,用于监控和分析服务器配置问题。
  6. 事务相关的DMO(sys.dm_trn_*):提供事务相关的统计信息,用于监控和分析长时间运行的事务的锁定、死锁问题。
1.3、DBCC

DBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助。

1.4 Extended Events

DBCC SQLPERF("sys. dm os wait stats".CLEAR)

1.5 执行计划分析工具

SOL Sentry Plan Explorer

1.6 Trace分析工具1.7 Idera Tools1.8 Redgate Tools

Redgate 的 SQL Toolbelt 包含用于 SQL Server 开发、部署、备份和监控的行业标准产品。它们共同提高了您的工作效率、团队的敏捷性和数据的安全性。每天都有数以千计的 SQL Server 专业人员依赖 SQL Toolbelt,因为它可靠、易于使用,并且可以插入他们已经用于应用程序开发的工具中。主要包括以下产品:

二、索引优化三、查询优化四、数据库配置五、TempDB优化

数据库性能优化之sql语句优化(DBA大神成长轨迹二)(2)

5.1 TempDB是什么?5.2 TempDB优化1.配置文件的大小

默认配置:

初始大小8M

自动增长10%,不限制增长。

这个配置可以修改,要视生产环境的情况而修改。

建议如下配置

tempdb 文件大小

FILEGROWTH 增量

0 至 100 MB

10 MB

100 至 200 MB

20 MB

200 MB 或更多

10%

2.存放文件的地方

一般要将TempDB的文件单独放到一个磁盘中。

3.文件的个数

TempDB只有一个primary文件组,所有的数据文件都会存放到这个文件组中。常规建议是4个文件开始,并且需要进行监控,如果发现不够,可以再增加4个。依次类推。建议将文件个数控制在两位数以内。

,