Oracle DB SQL 性能分析器

• 确定使用SQL 性能分析器的优点
• 描述SQL 性能分析器工作流阶段
• 使用SQL 性能分析器确定数据库更改所带来的性能改进

  • SQL 性能分析器:概览
• 11g 的新增功能
• 目标用户:DBA、QA、应用程序开发人员
• 帮助预测系统更改对SQL 工作量响应时间的影响
• 建立不同版本的SQL 工作量性能(即SQL 执行计划和 执行统计信息)
• 以串行方式执行SQL(不考虑并发性)
• 分析性能差异
• 提供对单个SQL 的细粒度性能分析
• 与SQL 优化指导集成在一起以优化回归

SQL 性能分析器:概览
Oracle Database 11 g 引入了SQL 性能分析器;使用该工具可以准确地评估更改对组成工作 量的SQL 语句的影响。SQL 性能分析器可帮助预测潜在的更改对SQL 查询工作量的性能 影响。这种功能可向DBA 提供有关SQL 语句性能的详细信息,例如,执行前后的统计信 息,提高或降低性能的语句。这样一来,您就可以执行诸如以下操作的操作:在测试环境 中进行更改,以确定数据库升级是否会改进工作量性能。

  • SQL 性能分析器:使用情形
在以下情形中使用SQL 性能分析器很有益:
• 数据库升级
• 实施优化建议
• 更改方案
• 收集统计信息
• 更改数据库参数
• 更改操作系统和硬件

SQL 性能分析器:使用情形
SQL 性能分析器可用于预测和防止会影响SQL 执行计划结构的任何数据库环境更改所带 来的潜在性能问题。这些更改可以包括(但不限于)以下任何一种更改:
• 数据库升级
• 实施优化建议
• 更改方案
• 收集统计信息
• 更改数据库参数
• 更改操作系统和硬件
DBA 甚至可以使用SQL 性能分析器为最复杂的环境预测先期更改导致的SQL 性能更 改。例如,随着应用程序在开发周期中的变化,数据库应用程序开发人员可以测试对方
案、 数据库对象和重写应用程序的更改,以减轻任何潜在的性能影响。
使用SQL 性能分析器还可以比较SQL 性能统计信息。

  • 使用模型:捕获 SQL 工作量
• SQL 优化集 (STS)  用于存储SQL 工 作量。包括:
– SQL 文本
– 绑定变量
– 执行计划
– 执行统计信息
• 增量捕获用于填充某个时间段内来自 游标高速缓存的 STS 。
• STS 的过滤和排名功能可过滤掉不需 要的SQL。

使用模型:捕获SQL 工作量
使用SQL 性能分析器的第一步是捕获呈现工作量的SQL 语句。这是使用SQL 优化集技 术完成的。

  • 使用模型:传输到测试系统
• 将SQL 优化集复制到登台表(“打包”)。
• 将登台表传送到测试系统(数据泵、DB 链接等)。
• 从登台表中复制 SQL 优化集(“解包”)。

使用模型:传输到测试系统
第二步是将这些SQL 语句传送到要测试的类似系统。在此步骤中,可将STS  从生产系统 中导出,然后将其导入到测试系统。

  • 使用模型:在更改性能前建立
 在更改之前,SQL 性能版本是 SQL 工作量性能基线。
• SQL 性能=  执行计划+  执行统计信息
• 测试/执行STS 中的SQL:
– 生成执行计划和统计信息。
– 以串行方式执行SQL(无并行操作)。
– 每个SQL 只执行一次。
– 跳过DDL/DML  结果。
• 解释STS 中的计划SQL 以便仅生成

使用模型:在更改性能前建立
第三步是捕获由执行计划和执行统计信息组成的测试系统性能的基线。

  • 使用模型:在更改性能后建立
• 手动实施计划的更改:
– 数据库升级
– 实施优化建议
– 更改方案
– 收集统计信息
– 更改数据库参数
– 更改操作系统和硬件
• 在更改后重新执行 SQL:
– 测试/执行STS 中的SQL 以生成 SQL 执行计划和执行统计信息。
– 解释STS 中的计划SQL 以便生成SQL 计划。

使用模型:在更改性能后建立
第四步是更改测试系统,然后重新运行SQL 语句来评估更改对SQL 性能的影响。

  • 使用模型:比较和分析性能
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值