大数据量表的维护原则 1.如果此表经常CRUD,最好的办法是定期收集统计信息传递给oracle优化器,提高性能。例如dbms_stats.gather_table_stats命令。 可以做在ETL中,定期执行。 2.考虑使用业务常用字段来进行分区,例如时间或地域等。以提高表查询的效率。 视图创建原则...
分类:
数据库 时间:
2015-02-19 10:44:46
阅读次数:
174
对Like,有两种形式的写法是按照数据总量的5%评估。
SQL> drop table test purge;
SQL> create table test as select * from dba_objects;
SQL> exec dbms_stats.gather_table_stats(user,'test');
SQL> select count(1) from test;...
分类:
数据库 时间:
2015-02-13 18:33:43
阅读次数:
201
Rolling Cursor Invalidations with DBMS_STATS.AUTO_INVALIDATE (文档 ID 557661.1)转到底部In this DocumentPurposeScopeDetailsCursor Invalidations on Gathering ...
分类:
数据库 时间:
2015-02-04 00:32:39
阅读次数:
225
将生产库的统计信息copy到开发库,用于调优
在确认执行计划之前
1.将生产环境的优化统计信息导入到开发环境中
请不要收集开发环境中的优化统计信息
2.优化器统计信息导入、导出
生产环境下统计信息导出 dbms_stats.export_*_stats
将统计信息导入到开发环境 dbms_stats.import_*_stats
3.在开发环境下,关闭自动统计信息收集(从10g开始...
分类:
数据库 时间:
2015-01-27 11:21:12
阅读次数:
222
在Oracle中,有时候在执行计划中看到sort关键字,就有人认为是做了排序,其实不一定。可以用下面的方法实验:
drop table test purge;
create table test as select * from dba_objects;
exec dbms_stats.gather_table_stats(user,'test');
select /*+gg_test...
分类:
数据库 时间:
2014-12-26 11:14:06
阅读次数:
297
由于Oracle的优化器是CBO,所以对象的统计数据对执行计划的生成至关重要! ?作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息(默认参数下是对表进行直方图信息收集,包含该表的自身-表的行数、数据...
分类:
数据库 时间:
2014-12-17 19:07:51
阅读次数:
309
在10G之前,使用DBMS_STATS收集统计信息将会导致与此对象相关的游标失效,下次执行此的时候将会进行HARD PARSE,除非收集的时候NO_INVALIDATE设置为TRUE。由于硬解析会消耗大量的CPU,还会导致大量的library cache 和 shared pool 的LATCH竞争...
分类:
其他好文 时间:
2014-12-09 17:37:59
阅读次数:
326
这篇文章将详细介绍 method_opt 参数怎样影响目标列上的统计信息以及为目标列收集什么类型的统计信息.
Method_opt 可能是存储过程 dbms_stats.gather_*_stats 中最令人费解的参数. 这个参数最常见的功能就是控制直方图的收集方式, 但实际上它的功能远不及此. 它的实际功能如下所示:
控制哪些列收集基本的统计信息 收集直方图, 收集扩展的统计信...
分类:
其他好文 时间:
2014-11-26 18:54:06
阅读次数:
252
全局临时表的统计信息是不能被收集的,如果被收集,它的统计信息肯定为0,会造成执行计划不准,所以要锁定它的统计信息,禁止系统自动收集。
--先解锁表的统计信息,然后删除表的统计信息,最后锁住表的统计信息
declare
v_sql
varchar2(500);
cursor rowList1 is
select'begin dbms_stats.unlock_tab...
分类:
数据库 时间:
2014-11-20 17:08:45
阅读次数:
441
概念:
oracle的统计信息:存储在数据字典里,且从多个维度描述了Oracle数据库里对象的详细信息。CBO会利用这些统计信息来计算各条路径的成本。
分类:
表、索引、列、系统、数据字典、内部对象的统计信息
收集统计信息:
ANALYZE 命令和DBMS_STATS包。表、索引、列、数据字典都可以用两个。系统、内部对象只能用DBMS_STATS。
1、ANAL...
分类:
其他好文 时间:
2014-11-03 16:24:42
阅读次数:
324