Oracle SQL Developer 3.0 中的 SQL Tuning Advisor

<不要删除此文本,因为它是在浏览器中运行时生成的“主要”标题列表的占位符>

目的

本教程介绍如何使用 Oracle SQL Developer 3.0 中的 SQL Tuning Advisor 特性。

所需时间

大约 20 分钟。

概述

SQL Tuning Advisor 对大量 SQL 语句进行分析并提出调优建议。它将一个或多个 SQL 语句作为输入,调用自动调优化器对这些语句执行 SQL 调优。可针对任何给定的 SQL 语句运行。SQL Tuning Advisor 提供精确的 SQL 操作建议,从而实现对 SQL 语句的调优及其预期的性能优势。所提供的建议涉及对象统计信息收集、新索引创建、SQL 语句重构或 SQL 配置文件创建。您可以选择接受建议来完成 SQL 语句调优。

Oracle 数据库可以识别有问题的 SQL 语句并使用 SQL Tuning Advisor 实施调优建议,从而自动调优 SQL 语句。您也可以有选择性地针对单个或一组确认为有问题的 SQL 语句运行 SQL Tuning Advisor。

在本教程中,您将学习如何运行和查看 SQL Tuning Advisor 建议。

注意: Tuning Advisor 是 Tuning Pack 的一部分,而 Tuning Pack 是 Oracle 管理包的一种,仅限企业版用户购买。有关详细信息,请参阅 Oracle 技术网或在线文档

软件和硬件要求

以下为软件要求列表:

先决条件

开始本教程之前,您应该:

.

OTN 安装 Oracle SQL Developer 3.0。按照这里的自述文件说明进行安装。

.

安装带有示例模式的 Oracle Database 11g。

创建数据库连接

使用 Oracle SQL Developer 3.0 管理数据库对象首先要创建数据库连接。

执行以下步骤创建数据库连接:

注意:如果您已建立了 SCOTT 和 SYSTEM 的数据库连接,则无需执行以下步骤。您可以转到授予 Scott 用户权限主题。

.

如果您已在桌面上安装了 SQL Developer 图标,则单击该图标启动 SQL Developer,之后转到第 4 步。如果您的桌面没有该图标,则执行以下步骤创建快捷方式,以便从桌面启动 SQL Developer 3.0。

打开 SQL Developer 3.0 所在目录,右键单击 sqldeveloper.exe(Windows 系统)或 sqldeveloper.sh(Linux 系统),然后选择 Send to > Desktop (create shortcut)

 

.

您将在桌面上找到名为 Shortcut to sqldeveloper.exe 的图标。双击该图标打开 SQL Developer 3.0。

注意:要进行重命名,则选择图标,然后按 F2,输入新名称。


.

您的 Oracle SQL Developer 已打开。

 

.

在 Connections 导航器中,右键单击 Connections 并选择 New Connection

 

.

New / Select Database Connection 对话框打开。按以下内容输入连接的详细信息,然后单击 Test

Connection Name:system
Username:system
Password:<您的口令> (选择 Save Password
Hostname:localhost
SID:<您自己的 SID>

 

.

查看左下方(Help 按钮上方)的连接状态。其状态应显示为 Success。单击 Save,然后单击 Connect

 

.

在 Connections 导航器中,要创建到 scott 模式的新连接,右键单击 Connections,然后选择 New Connection

 

.

New / Select Database Connection 对话框打开。按以下内容输入连接的详细信息,然后单击 Test

Connection Name:scott
Username:scott
Password:<您的口令> (选择 Save Password
Hostname:localhost
SID:<您自己的 SID>

 

.

查看左下方(Help 按钮上方)的连接状态。其状态应显示为 Success。单击 Save,然后单击 Connect

 

.

连接已保存,您可以查看 Connections 列表中新创建的两个连接。

 

授予 Scott 用户权限并删除 Scott 用户的现有统计信息

用户需要特定权限才能运行 SQL Tuning Advisor。另外,为了收集和管理 SCOTT 模式的统计信息,需要清除现有统计信息。以下步骤向您介绍如何向 scott 用户授予 SQL Tuning Advisor 权限以及如何删除 scott 用户的现有统计信息。

.

单击 SQL Worksheet ,然后选择 system 用户。

 

.

要授予 scott 用户运行 SQL Tuning Advisor 的权限,请输入以下代码。单击 Run Statement

grant advisor to scott;

grant administer sql tuning set to scott;


.

显示语句的输出。

 

.

Oracle 数据库允许您收集许多不同的统计信息,以便提高性能。 为说明 SQL Tuning Advisor 提供的部分特性,要从 SCOTT 模式中清除现有统计信息。

要删除模式统计信息,请输入以下代码。

exec DBMS_STATS.DELETE_SCHEMA_STATS ('scott');

选择该语句,然后单击 Run Statement

可以使用 DBMS_STATS 程序包查看和修改为数据库对象收集的优化器统计信息。DELETE_SCHEMA_STATS 过程删除整个模式的统计信息。

 

.

显示该语句的输出。

 

对一条 SQL 语句运行 SQL Tuning Advisor

在该主题中,您将针对一条 SQL 语句运行 SQL Tuning Advisor。SQL Tuning Advisor 会对 SQL 语句执行四种分析。

所有建议都显示在 Overview 中。您也可以单独查看每个建议。

.

单击 SQL Worksheet ,打开 scott 用户的 SQL Worksheet。

 

.

在工作表中输入以下 SQL 语句。

select sum(e.sal), avg(e.sal), count(1), e.deptno from dept d, emp e group by e.deptno order by e.deptno;

注意,上述 SQL 语句拥有一个未使用的“dept”表引用。


.

选择该 SQL 语句,然后单击 SQL Tuning Advisor


.

显示 SQL Tuning Advisor 输出。


.

在左侧导航器中,单击 Statistics。该分析过程会识别出统计信息陈旧或缺失的对象,然后提供相应建议以解决问题。


.

在左侧导航器中,单击 SQL Profile。SQL Tuning Advisor 建议通过生成 SQL 配置文件来改善执行计划。

 

.

单击 Detail 选项卡页面,查看 SQL Profile Finding。


.

在左侧导航器中,单击 Indexes。该步骤会建议 SQL 语句是否能从索引受益。如有必要,确定和推荐能够显著提高查询性能的新索引。


.

单击 Overview 选项卡页面。在本示例中,未提供索引方面的建议。


.

在左侧导航器中,单击 Restructure SQL。该分析过程提出重构选定的 SQL 语句的建议以便提高性能。


实施 SQL Tuning Advisor 建议

您可以实施 SQL Tuning Advisor 建议特性。您可以使用该特性更新 scott 模式中的统计信息。执行以下步骤实施 SQL Tuning Advisor 建议:

.

在 Connections 导航器中,右键单击 scott 并选择 Gather Schema Statistics...

 

.

Gather Schema Statistics 中,从下拉列表中为 Estimate Percent 选择 100,以便看到每个表中的所有行。这样可以确保统计信息尽可能准确。

 

.

单击 Apply


.

将显示一条确认消息。单击 OK

 

.

要再次对该 SQL 语句运行 SQL Tuning Advisor,选择该 SQL 语句,然后单击 SQL Tuning Advisor

 

.

显示 SQL Tuning Advisor 输出。通过收集统计信息,现在已删除了 Statistics 和 SQL Profile 建议。


.

在左侧导航器中,单击每个 SQL Tuning Advisor Implement Type,检查是否所有建议都已实施。

注意向您报告的问题:

注意向您报告的问题:


注意,删除未使用的表的 Restructure SQL 建议仍然存在。

 

.

删除 SQL 语句中的“dept”表,然后单击 SQL Advisor


.

显示输出。所有意见与建议均已删除。


总结

在本教程中,您学习了如何:

硬件和软件,集成设计、卓越性能 关于 Oracle |Oracle 和 Sun | Oracle RSS 信源 | 招聘 | 联系我们 | 网站地图 | 法律声明 | 使用条款 | 您的隐私权利