首页 数据库 mysql教程 Oracle数据库11g新特性:SQL Access Advisor

Oracle数据库11g新特性:SQL Access Advisor

Jun 07, 2016 pm 03:49 PM
oracle sql 数据库 新特性 特性

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 Oracle数据库11g面向DBA和开发人员的重要新特性:SQL Access Advisor 摘要: 获得有关基于实际频率和使用类型(而非数据类型)进行分区、索引和创建物化视图以改进模式设计的建议。 Oracle 数据库 1

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

    Oracle数据库11g面向DBA和开发人员的重要新特性:SQL Access Advisor

    摘要:获得有关基于实际频率和使用类型(而非数据类型)进行分区、索引和创建物化视图以改进模式设计的建议。

    Oracle 数据库 10g 提供了大量帮助程序(或“顾问程序”),可帮助您决定最佳操作流程。其中一个示例是 SQL Tuning Advisor,它可以提供有关查询调整以及在流程中延长整个优化过程的建议。

    但请考虑以下调整案例:假设一个索引确实有助于某个查询,但该查询只执行一次。这样,即使该查询可以得益于此索引,但创建索引的成本也会超出其带来的好处。要按这种方式分析案例,您需要了解查询的访问频率和原因。

    另一个顾问程序 (SQL Access Advisor) 可执行这种类型的分析。除了像在 Oracle 数据库 10g 中一样可以分析索引、物化视图等,Oracle 数据库 11g 中的 SQL Access Advisor 还可以分析表和查询以识别可能的分区策略 ― 这在设计最佳模式时可以提供很大帮助。在 Oracle 数据库 11g 中,SQL Access Advisor 现在可以提供与整个负载相关的建议,包括考虑创建成本和维护访问结构。

    在本文中,您将了解新的 SQL Access Advisor 如何解决常见问题。(注:出于演示目的,我们将通过一个语句演示这个功能;但是,Oracle 建议使用 SQL Access Advisor 来帮助调整整个负载,而不只是一个 SQL 语句。)

    问题

    下面是一个典型问题。应用程序发出了以下 SQL 语句。该查询似乎要消耗大量资源并且速度很慢。

select store_id, guest_id, count(1) cnt
from res r, trans t
where r.res_id between 2 and 40
and t.res_id = r.res_id
group by store_id, guest_id
/

    该 SQL 涉及两个表,即 RES 和 TRANS;后者是前者的子表。您需要找到提高查询性能的解决方案 ― SQL Access Advisor 正是最合适的工具。

    您可以通过命令行或 Oracle 企业管理器数据库控制与顾问程序进行交互,但使用 GUI 可以提供更好的值(GUI 可让您将解决方案可视化,并将许多任务简化为简单的点击操作)。

    要使用企业管理器中的 SQL Access Advisor 解决 SQL 中的问题,请遵循以下步骤。

    1、当然,第一个任务是启动企业管理器。在 Database 主页上,向下滚动到页面底部,您将在这里看到几个超链接,如下图所示:

Oracle数据库11g新特性:SQL Access Advisor

    2、在该菜单中,单击 Advisor Central,这将显示一个与下图类似的屏幕。下面仅显示了该屏幕的顶部。

Oracle数据库11g新特性:SQL Access Advisor

    3、单击 SQL Advisors,这将显示一个与下图类似的屏幕。

Oracle数据库11g新特性:SQL Access Advisor

    4、在该屏幕中,您可以计划 SQL Access Advisor 会话,并指定其选项。顾问程序必须收集一些要使用的 SQL 语句。最简单的选项就是通过 Current and Recent SQL Activity 从共享池获取它们。选择该选项,您可以获取共享池中缓存的所有 SQL 语句来进行分析。

    但是,在某些情况下,您并不需要共享池中的所有语句;而仅需要其中的一组特定语句。为此,您需要在另一个屏幕上创建一个“SQL 调整工具集”,然后在这里(即,该屏幕中)引用集合名。

    此外,您可能希望根据理论上预期会发生的情况来运行复合负载。这些类型的 SQL 语句将不会位于共享池中,因为它们尚未处理。相反,您需要创建这些语句并将其存储在一个特殊表中。在第三个选项 (Create a Hypothetical Workload……) 中,您需要提供该表的名称以及模式名。

    对于本文,假设您希望从共享池中获取 SQL.因此,选择第一个选项(即默认选项),如屏幕所示。

[1] [2] [3] [4] [5] 

Oracle数据库11g新特性:SQL Access Advisor

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

oracle如何查表空间大小 oracle如何查表空间大小 Apr 11, 2025 pm 08:15 PM

要查询 Oracle 表空间大小,请遵循以下步骤:确定表空间名称,方法是运行查询:SELECT tablespace_name FROM dba_tablespaces;查询表空间大小,方法是运行查询:SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

oracle数据库如何导入 oracle数据库如何导入 Apr 11, 2025 pm 08:06 PM

数据导入方法:1. 使用 SQLLoader 实用程序:准备数据文件、创建控制文件、运行 SQLLoader;2. 使用 IMP/EXP 工具:导出数据、导入数据。提示:1. 大数据集推荐 SQL*Loader;2. 目标表应存在,列定义匹配;3. 导入后需验证数据完整性。

为什么要使用mysql?利益和优势 为什么要使用mysql?利益和优势 Apr 12, 2025 am 12:17 AM

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

Oracle安装失败如何卸载 Oracle安装失败如何卸载 Apr 11, 2025 pm 08:24 PM

Oracle 安装失败的卸载方法:关闭 Oracle 服务,删除 Oracle 程序文件和注册表项,卸载 Oracle 环境变量,重新启动计算机。若卸载失败,可使用 Oracle 通用卸载工具手动卸载。

如何在oracle中创建表 如何在oracle中创建表 Apr 11, 2025 pm 08:00 PM

创建 Oracle 表涉及以下步骤:使用 CREATE TABLE 语法指定表名、列名、数据类型、约束和默认值。表名应简洁、描述性,且不超过 30 个字符。列名应描述性,数据类型指定列中存储的数据类型。NOT NULL 约束确保列中不允许使用空值,DEFAULT 子句可指定列的默认值。PRIMARY KEY 约束标识表的唯一记录。FOREIGN KEY 约束指定表中的列引用另一个表中的主键。请参见示例表 students 的创建,其中包含主键、唯一约束和默认值。

oracle视图如何加密 oracle视图如何加密 Apr 11, 2025 pm 08:30 PM

Oracle 视图加密允许您加密视图中的数据,从而增强敏感信息安全性。步骤包括:1) 创建主加密密钥 (MEk);2) 创建加密视图,指定要加密的视图和 MEk;3) 授权用户访问加密视图。加密视图工作原理:当用户查询加密视图时,Oracle 使用 MEk 解密数据,确保只有授权用户可以访问可读数据。

oracle中乱码怎么解决 oracle中乱码怎么解决 Apr 11, 2025 pm 10:09 PM

Oracle 乱码问题可以通过以下步骤解决:检查数据库字符集以确保与数据相匹配。设置客户端字符集以与数据库相匹配。转换数据或修改列字符集以匹配数据库字符集。使用 Unicode 字符集,并避免多字节字符集。检查数据库和客户端的语言设置是否正确。

oracle如何查看实例名 oracle如何查看实例名 Apr 11, 2025 pm 08:18 PM

在 Oracle 中查看实例名的方法有三种:命令行中使用 "sqlplus" 和 "select instance_name from v$instance;" 命令。在 SQL*Plus 中使用 "show instance_name;" 命令。通过操作系统的任务管理器、Oracle Enterprise Manager 或检查环境变量 (Linux 上的 ORACLE_SID)。

See all articles