返回顶部
首页 > 资讯 > 精选 >STA的使用分析
  • 389
分享到

STA的使用分析

2023-06-06 01:06:26 389人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关STA的使用分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。利用oracle 10g提供的sql Tuning Advisor,DBA可以很容易的来根据STA给

这篇文章将为大家详细讲解有关STA的使用分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

利用oracle 10g提供的sql Tuning Advisor,DBA可以很容易的来根据STA给出的意见和建议来进行SQL的优化,一切终于变的如此的简单了。

SQL> set timing on
SQL> set autot on
SQL> select count(*) from bigtab a,smalltab b
  2  where a.object_name=b.table_name;

  COUNT(*)
----------
    191597

已用时间:  00: 00: 27.53

执行计划
----------------------------------------------------------
Plan hash value: 3089226980

--------------------------------------------------------------------------------
| Id  | Operation           | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |          |     1 |    83 | 16418   (3)| 00:03:18 |
|   1 |  SORT AGGREGATE     |          |     1 |    83 |            |          |
|*  2 |   HASH JOIN         |          |  1928K|   152M| 16418   (3)| 00:03:18 |
|   3 |    TABLE ACCESS FULL| SMALLTAB |  1594 | 27098 |    12   (0)| 00:00:01 |
|   4 |    TABLE ACCESS FULL| BIGTAB   |  5465K|   343M| 16311   (2)| 00:03:16 |
--------------------------------------------------------------------------------

Predicate InfORMation (identified by operation id):
---------------------------------------------------

   2 - access("A"."OBJECT_NAME"="B"."TABLE_NAME")

Note
-----
   - dynamic sampling used for this statement


统计信息
----------------------------------------------------------
        446  recursive calls
          0  db block gets
      73581  consistent gets
      73386  physical reads
          0  redo size
        414  bytes sent via SQL*Net to client
        400  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          6  sorts (memory)
          0  sorts (disk)
          1  rows processed

现在我们可以创建并执行我们的SQL tuning task
DECLARE
  my_task_name VARCHAR2(30);
  my_sqltext   CLOB;
  BEGIN
  my_sqltext := 'select count(*) from bigtab a, smalltab b where a.object_name=b.table_name';
  my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(
                  sql_text => my_sqltext,
                  user_name => 'SYS',
                  scope     => 'COMPREHENSIVE',
                  time_limit => 60,
                  task_name  => 'oracle_ace_task',
                  description => 'Task to tune a query on a specified table');
 
       DBMS_SQLTUNE.EXECUTE_TUNING_TASK( task_name => 'oracle_ace_task'); 
END;

或者我们可以利用一个procedure来生成

create or replace procedure sql_tuning(my_sqltext in clob,schema_name in varchar2)
is
my_task_name varchar2(30);
begin
my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(
                  sql_text => my_sqltext,
                  user_name => schema_name,
                  scope     => 'COMPREHENSIVE',
                  time_limit => 60,
                  task_name  => 'oracle_ace_task',
                  description => 'Task to tune a query on a specified table');
 DBMS_SQLTUNE.EXECUTE_TUNING_TASK( task_name => 'oracle_ace_task'); 
end;

exec sql_tuning('select count(*) from bigtab a, smalltab b where a.object_name=b.table_name','SYS');


在函数CREATE_TUNING_TASK,sql_text是需要优化的语句,user_name是该语句通过哪个用户执行,scope是优化范围(limited或comprehensive),time_limit优化过程的时间限制,task_name优化任务名称,description优化任务描述。

可以通过视图USER_ADVISOR_LOG和USER_ADVISOR_LOG来查看创建过的优化任务。

SQL> select task_name, status from USER_ADVISOR_LOG where task_name='oracle_ace_task';
 
TASK_NAME                      STATUS
------------------------------        -----------
oracle_ace_task                COMPLETED


最后我们来生成tuning的报告.
SQL> set long 10000
SQL> set lonGChunksize 1000
SQL> set linesize 100
SQL> SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK( 'tuning_sql_test') from DUAL;
/
PL/SQL procedure successfully completed.

关于STA的使用分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: STA的使用分析

本文链接: https://lsjlt.com/news/245689.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • STA的使用分析
    这篇文章将为大家详细讲解有关STA的使用分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。利用Oracle 10g提供的SQL Tuning Advisor,DBA可以很容易的来根据STA给...
    99+
    2023-06-06
  • xftp的使用分析
    这期内容当中小编将会给大家带来有关xftp的使用分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Xftp传输文件Tmp目录下新建目录,原来暂时存放软件包[root@happy ~]# mkdir /tm...
    99+
    2023-06-06
  • Android SharedPreferences的使用分析
    SharedPreferences用于在开发软件的时候提供软件参数设置,其背后使用的是xml文件存放数据,文件保存在/data/data/<package na...
    99+
    2022-06-06
    Android
  • SpringMVC @RequestBody的使用分析
    这篇文章主要介绍“SpringMVC @RequestBody的使用分析”,在日常操作中,相信很多人在SpringMVC @RequestBody的使用分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spr...
    99+
    2023-06-25
  • 使用MySQL的示例分析
    这篇文章主要介绍了使用MySQL的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。属性表(product_props)结构如下数据量8...
    99+
    2024-04-02
  • 使用redis的要点分析
    这篇文章将为大家详细讲解有关使用redis的要点分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、导语Redis(Remote Dictionary Server )...
    99+
    2024-04-02
  • 使用SQL的案例分析
    小编给大家分享一下使用SQL的案例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 需求 所有部门汇总的结果的打分。大部分...
    99+
    2024-04-02
  • Redis的使用实例分析
    这篇文章主要介绍“Redis的使用实例分析”,在日常操作中,相信很多人在Redis的使用实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis的使用实例分析”的疑惑...
    99+
    2024-04-02
  • 使用svg的示例分析
    这篇文章主要为大家展示了“使用svg的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“使用svg的示例分析”这篇文章吧。1、例子一css代码html,&n...
    99+
    2024-04-02
  • Vuex的使用实例分析
    这篇文章主要介绍“Vuex的使用实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vuex的使用实例分析”文章能帮助大家解决问题。 Vuex 简介 1. 概...
    99+
    2024-04-02
  • 使用VanillaJS的示例分析
    这篇文章给大家分享的是有关使用VanillaJS的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。时间注意原始操作符比函数调用快,使用VanillaJS比如,一般不要这样:...
    99+
    2024-04-02
  • 使用Vuex的案例分析
    这篇文章给大家分享的是有关使用Vuex的案例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是Vuex?vuex是专门为vue.js应用程序开发的一种状态管理模式,当多个视...
    99+
    2024-04-02
  • 使用Ajax的示例分析
    这篇文章主要为大家展示了“使用Ajax的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“使用Ajax的示例分析”这篇文章吧。什么是ajaxajax(异步j...
    99+
    2024-04-02
  • 使用Vue的示例分析
    这篇文章将为大家详细讲解有关使用Vue的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Vue的优点Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优...
    99+
    2023-06-15
  • rsync使用的示例分析
    这篇文章给大家介绍rsync使用的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。要想同步某一位置文件和目录到另一个位置去可以使用Rsync,备份的位置可以在本地服务器或远程服务器。rsync特征速度:第一次的r...
    99+
    2023-06-28
  • pstack命令的使用分析
    pstack命令的使用分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。pstack命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 ...
    99+
    2023-06-06
  • Android CheckBox 的使用案例分析
    代码如下:public class MainActivity extends Activity { TextView tv; CheckBox cb1;&...
    99+
    2022-06-06
    checkbox 案例分析 Android
  • redis的bitmap使用实例分析
    这篇文章主要讲解了“redis的bitmap使用实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“redis的bitmap使用实例分析”吧!1.位图简介...
    99+
    2024-04-02
  • html5的viewport使用实例分析
    这篇“html5的viewport使用实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇...
    99+
    2024-04-02
  • 使用v-model的示例分析
    小编给大家分享一下使用v-model的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Vue v-model是一个指令,它提供了input和form之间或两...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作