9 sql
This presentation is the property of its rightful owner.
Sponsored Links
1 / 32

9. 自动 SQL 调整 PowerPoint PPT Presentation


  • 101 Views
  • Uploaded on
  • Presentation posted in: General

9. 自动 SQL 调整. 简介. 自动 SQL 调整解决方案 SQL Tuning Advisor 为应用程序调整提供综合、自动、具有成本效益的解决方案 减少 SQL 调整时间多达 80% 减少管理成本. 手动调整所面临的挑战. 需要以下几个领域的专业知识 SQL 优化: 调整执行计划 访问设计:提供快速数据访问 SQL 设计: 使用适当的 SQL 结构 耗费时间 每一个 SQL 语句与众不同 潜在大量语句需要调整 永无休止 SQL 负载不断增加 计划衰退. 手动调整示例. 手动调整

Download Presentation

9. 自动 SQL 调整

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


9 sql

9.自动 SQL 调整

版权所有(2005~2008)eygle


9 sql

简介

  • 自动 SQL 调整解决方案

    • SQL Tuning Advisor

  • 为应用程序调整提供综合、自动、具有成本效益的解决方案

  • 减少 SQL 调整时间多达 80%

  • 减少管理成本

版权所有(2005~2008) eygle


9 sql

手动调整所面临的挑战

  • 需要以下几个领域的专业知识

    • SQL 优化: 调整执行计划

    • 访问设计:提供快速数据访问

    • SQL 设计: 使用适当的 SQL 结构

  • 耗费时间

    • 每一个 SQL 语句与众不同

    • 潜在大量语句需要调整

  • 永无休止

    • SQL 负载不断增加

    • 计划衰退

版权所有(2005~2008) eygle


9 sql

手动调整示例

手动调整

取得 Explain Plan 的结果

检查查询对象及其大小

检查 Explain Plan 的统计数据并将其与 Execution Plan 的统计数据(存储在 V$SQL视图)比较

识别问题,例如: “first rows”问题,因为尽管查询了大量的历史数据,但仅显示最新的数据

联系应用程序供应商

为供应商生产测试用例

从供应商处获得代码适当被修改的修补程序

在下一个维护周期中安装该修补程序

版权所有(2005~2008) eygle


Sql tuning advisor

SQL Tuning Advisor 概述

解决方案

如何调整我的 SQL 负载?

SQL Tuning Advisor

CBO 组件

无需专家

DBA

提供实施脚本

SQL

负载

版权所有(2005~2008) eygle


Sql tuning advisor1

SQL Tuning Advisor

版权所有(2005~2008)eygle


9 sql

自动 SQL 调整概述

SQL 调整建议

自动调整优化器

SQL Tuning Advisor

收集丢失或者陈旧的统计数据

统计数据分析

SQL 配置文件分析

创建 SQL 配置文件

DBA

增加丢失的索引

访问路径分析

SQL 结构分析

修改 SQL 结构

版权所有(2005~2008) eygle


9 sql

自动调整优化器 (ATO)

  • 它是在调整模式下运行的查询优化器

    • 使用相同的计划生成过程但是执行需要更多时间的额外步骤

  • 它执行验证步骤

    • 验证统计数据和它自己的估计

      • 使用动态取样和部分执行来验证

  • 它执行试探性步骤

    • 试验可以极大提速的新索引的使用

    • 分析导致大量计划操作符的 SQL 结构

版权所有(2005~2008) eygle


9 sql

统计数据分析

SQL调整建议

自动调整优化器

SQL Tuning Advisor

收集丢失或者陈旧的统计数据

统计数据分析

SQL 配置文件分析

创建 SQL 配置文件

DBA

增加丢失的索引

访问路径分析

SQL 结构分析

修改 SQL 结构

版权所有(2005~2008) eygle


9 sql

统计数据分析

  • 动机

    • 统计数据是查询优化器进行优化所依赖的主要信息

      • 统计数据的可用性和准确性非常重要

  • 在 Oracle10g 中,自动统计数据收集使统计数据保持最新……

    • 但是可能并未将其启用或正确配置!

  • ATO 验证它需要/使用的统计数据

    • 产生辅助信息以弥补丢失或陈旧的统计数据

    • 在适当的时候生成收集统计数据的建议

版权所有(2005~2008) eygle


9 sql

SQL 配置文件分析

SQL调整建议

自动调整优化器

SQL Tuning Advisor

收集丢失或者陈旧的统计数据

统计数据分析

SQL 配置文件分析

创建 SQL 配置文件

DBA

增加丢失的索引

访问路径分析

SQL 结构分析

修改 SQL 结构

版权所有(2005~2008) eygle


9 sql

SQL 配置文件分析过程

SQL 配置文件分析

提交

创建

优化器

(调整模式)

SQL 配置

SQL TuningAdvisor

使用

之后……

提交

输出

优化器

(正常模式)

优调的计划

数据库用户

版权所有(2005~2008) eygle


9 sql

SQL 配置文件

  • 包含 ATO 针对某条 SQL 语句收集的辅助信息

    • 弥补丢失或陈旧的统计数据

    • 弥补优化器估计中的错误

      • 发生估计错误的原因是数据不对称和数据相关性、复杂的过滤器和联接

  • 不需要对 SQL 文本做任何更改

    • 最适用于打包的应用程序

  • 持久可用

    • 即使历经数据库关闭或升级,仍然可用

版权所有(2005~2008) eygle


9 sql

访问路径分析

SQL调整建议

自动调整优化器

SQL Tuning Advisor

收集丢失或者陈旧的统计数据

统计数据分析

SQL 配置文件分析

创建 SQL 配置文件

DBA

增加丢失的索引

访问路径分析

SQL 结构分析

修改 SQL 结构

版权所有(2005~2008) eygle


9 sql

访问路径分析

  • 动机

    • 增加一个索引可能会极大提高 SQL 语句的性能

  • 问题:丢失一个关键的访问路径

    • 没有创建索引或者错误地删除了索引

  • ATO 探究新索引的使用

    • 如果索引能较大地提高性能,则推荐采用

    • 还推荐运行 SQL Access Advisor 为整个工作负载进行全面的索引分析

      • SQL Access Advisor 也使用此分析模式

版权所有(2005~2008) eygle


9 sql

SQL 结构分析

SQL 调整建议

自动调整优化器

SQL Tuning Advisor

收集丢失或者陈旧的统计数据

统计数据分析

SQL 配置文件分析

创建 SQL 配置文件

DBA

增加丢失的索引

访问路径分析

SQL 结构分析

修改 SQL 结构

版权所有(2005~2008) eygle


9 sql

SQL 结构分析

  • 动机

    • 帮助应用程序开发人员识别编写得不好的 SQL 语句

    • 建议调整 SQL 以提高效率

  • 问题分类

    • 对 SQL 操作符的语义更改(例如:用 UNION ALL 代替 UNION)

      • 要看用户是否接受新结果

    • 对索引的列的谓词的句法更改(例如:删除“列 = :bind”中的类型不匹配)

    • SQL 设计问题(例如,增加丢失的联接谓词以删除大型 Cartesian 联接)

版权所有(2005~2008) eygle


9 sql

SQL 调整使用情景

自动选择

AWR

高负载 SQL

ADDM

SQL 来源

手动选择

AWR

SQL 调整

顾问

游标缓存

SQL 调整集(STS)

过滤器 / 级别

版权所有(2005~2008) eygle

用户定义


9 sql

SQL 调整集 (STS)

  • 动机

    • 使用户能够调整自定义的 SQL 语句集

  • Oracle10g 中用来捕获和管理 SQL 工作负载的新对象

  • 与 SQL 语句一同存储:

    • 执行环境:分析用户、绑定值等

    • 执行统计数据: 从缓冲器读取、 CPU 时间、所用时间、执行次数等

  • 从任何 SQL 来源创建

    • 来源: AWR、 游标缓存、用户定义的 SQL 负载和其他 STS

版权所有(2005~2008) eygle


9 sql

SQL Tuning Advisor 用户界面

  • GUI: 企业管理器

    • 从以下 SQL 来源页面运行 SQL Tuning Advisor

      • ADDM Finding 页面,或者

      • Top SQL 页面,或者

      • SQL 调整集 (STS) 页面

    • 查看 SQL 调整建议

    • 实施 SQL 调整建议

  • 命令行: DBMS_SQLTUNE 程序包

版权所有(2005~2008) eygle


9 sql

SQL 来源: ADDM Finding

版权所有(2005~2008) eygle


Sql top sql

SQL 来源: Top SQL

版权所有(2005~2008) eygle


9 sql

SQL 来源: SQL 调整集

版权所有(2005~2008) eygle


9 sql

SQL 调整选项

版权所有(2005~2008) eygle


9 sql

企业管理器界面

  • 从以下 SQL 页面运行 SQL Tuning Advisor

    • ADDM Finding 页面,或者

    • Top SQL 页面,或者

    • SQL 调整集 (STS) 页面

  • 查看 SQL 调整建议

  • 实施 SQL 调整建议

版权所有(2005~2008) eygle


9 sql

SQL 调整建议 — 概述

版权所有(2005~2008) eygle


9 sql

SQL 调整建议 — 详述

版权所有(2005~2008) eygle


9 sql

企业管理器界面

  • 从以下 SQL 页面运行 SQL Tuning Advisor

    • ADDM Finding 页面,或者

    • Top SQL 页面,或者

    • SQL 调整集 (STS) 页面

  • 查看 SQL 调整建议

  • 实施 SQL 调整建议

版权所有(2005~2008) eygle


9 sql

实施建议

版权所有(2005~2008) eygle


9 sql

实施建议

版权所有(2005~2008) eygle


9 sql

手动调整

取得 Explain Plan 的结果

检查查询对象及其大小

检查 Explain Plan 的统计数据并将其与 Execution Plan 的统计数据(存储在 V$SQL 视图)比较

识别问题,例如: “first rows”问题,因为尽管查询了大量的历史数据,但仅显示最新的数据

联系应用程序供应商

为供应商生产测试用例

从供应商处获得代码适当被修改的修补程序

在下一个维护周期中安装该修补程序

自动调整

运行 SQL Tuning Advisor

实施建议。

自动与手动 SQL 调整

版权所有(2005~2008) eygle


9 sql

结论

  • Oracle 10g 消灭了 DBA 所面临的最大的一个挑战— SQL 调整

  • 提供有针对性、精确且自动的调整

  • 使对打包的应用程序的综合调整成为可能

  • 不再依赖熟练的性能专家

  • 产生直接的 ROI

    • 降低管理成本

    • 减少系统停机时间

    • 提高 DBA 生产力

版权所有(2005~2008) eygle


  • Login