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

  • 相关阅读:
    构造方法
    构造方法的重载
    封装的使用及演示代码
    static的用法及作用
    javaWeb链接数据库进行增删改查
    java面向对象接口小结
    多线程总结
    mysql数据查询
    mysql条件查询
    mysql查询数据
  • 原文地址:https://www.cnblogs.com/oldcat/p/3142132.html
Copyright © 2011-2022 走看看