您好,欢迎访问一九零五行业门户网

Oracle 收集统计信息在11g和12C下的区别

oracle 基于事务的临时表在11g和12c下,可以看到收集临时表的统计信息后,前者记录被清空,后者没有,这是个很重要的区别。在公司
oracle 基于事务的临时表在11g和12c下,可以看到收集临时表的统计信息后,前者记录被清空,后者没有,这是个很重要的区别。在公司环境上用的是12c,在现场用的是11g,使用临时表会造成时快时慢,之前我有帖子,用了hint之后,也不是特别好,于是直接采集,结果临时表被清空。解决的方法是:建基于session的临时表,且每次用完之后要truncate,,要不然,会有问题。
sql> select * from v$version;
banner                                                                              con_id
-------------------------------------------------------------------------------- ----------
oracle database 12c enterprise edition release 12.1.0.1.0 - 64bit production              0
pl/sql release 12.1.0.1.0 - production                                                    0
core 12.1.0.1.0production                                                        0
tns for linux: version 12.1.0.1.0 - production                                            0
nlsrtl version 12.1.0.1.0 - production                                                    0
sql> drop table test purge;
--基于事务的临时表
sql> create global temporary table test
    (
      id  number
    )
    on commit delete rows;
sql> insert into test select object_id from dba_objects;
99412 rows inserted
sql> select count(1) from test;
  count(1)
----------
    99412
sql> exec dbms_stats.gather_table_stats(user,'test');
sql> select count(1) from test;
  count(1)
----------
    99412
sql> select * from v$version;
banner
--------------------------------------------------------------------------------
oracle database 11g enterprise edition release 11.2.0.1.0 - 64bit production
pl/sql release 11.2.0.1.0 - production
core 11.2.0.1.0production
tns for linux: version 11.2.0.1.0 - production
nlsrtl version 11.2.0.1.0 - production
sql> drop table test purge;
--基于事务的临时表
sql> create global temporary table test
    (
      id  number
    )
    on commit delete rows;
sql> insert into test select object_id from dba_objects;
70379 rows inserted
sql> select count(1) from test;
  count(1)
----------
    70379
sql> exec dbms_stats.gather_table_stats(user,'test');
sql> select count(1) from test;
  count(1)
----------
        0
在centos 6.4下安装oracle 11gr2(x64)
oracle 11gr2 在vmware虚拟机中安装步骤
debian 下 安装 oracle 11g xe r2
本文永久更新链接地址:
其它类似信息

推荐信息