zoukankan      html  css  js  c++  java
  • 自动收集统计信息

    练习6:自动收集统计信息

    1、 使用SQL*Plus,一用户SYSTEM连接。

    2、创建一个练习用户TESTUSER,并授予DBA角色。

    SQL>create  user testuser identified by testuser;

    SQL>grant dba to testuser;

    3、以TESTUSER用户登录实例,创建一组对象。

     

    图  自动收集统计信息

    SQl>select num_rows,last_analyzed from user_tables where table_name='TESTTAB';

    NUM_ROWS LAST_ANALYZED

    ---------- --------------

    4、在SQL*PLUS中执行下面代码。

    Begin

    dbms_stats.gather_table_stats(
    ownname=> 'TESTUSER',
    tabname=> 'TESTTAB' ,
    estimate_percent=> DBMS_STATS.AUTO_SAMPLE_SIZE,
    cascade=> DBMS_STATS.AUTO_CASCADE,
    method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
    end;

    /

    5、在SQL*Plus中,通过修改NLS_DATE_FORMAT参数,来显示完成的时间,并确认收集了统计信息。

     

    图14-3 查看自动收集统计信息

    在Oracle 10g数据库中,如果我们是通过DBCA工具创建的数据库,那么数据库中存在一个收集整个数据库统计信息的自动作业叫GATHER_STATS_JOB。统计信息能够改善查询的性能,但是在收集统计信息的过程中会对数据库造成一定的压力。所以我们可以根据需要统计相关的信息,停止系统的整体收集作业。

    在11g数据库中有自动维护作业,自动维护作业中的一项也是收集统计信息,一般情况下这两个作业可以完成我们业务系统收集信息的目的,但当系统的数据发生较大变化是(如导入数据或装载数据)需要手工收集统计信息。

  • 相关阅读:
    【每日一题-leetcode】 47.全排列 II
    【每日一题-leetcode】46.全排列
    【每日一题-leetcode】 77.组合
    【每日一题-leetcode】105.从前序与中序遍历序列构造二叉树
    【每日一题-leetcode】297.二叉树的序列化与反序列化
    【读书笔记】《淘宝技术这十年》
    python第17天-网络复习
    python编码风格
    python第16天-网络4
    python第15天-网络3
  • 原文地址:https://www.cnblogs.com/oldcat/p/3142132.html
Copyright © 2011-2022 走看看