碰到一个问题,创建某张表字段索引后,重新收集统计信息后,应用程序还是走原来的执行计划,把应用程序执行的sql语句拿出来执行,走的是快速索引扫描,应用程序用的是绑定变量; 查看执行计划走的是全表扫描: 但是在plsql开发工具和sqlplus未使用绑定变量情形下SQL语句走的是索引全扫描,这时想到这可 ...
分类:
其他好文 时间:
2016-07-31 20:43:03
阅读次数:
264
介绍 数据库维护统计信息的目的主要是为了优化器进行更好的执行优化,首先统计信息是建立在索引的基础上,如果表没有索引那么该表也就无统计信息。 系统如何收集统计信息 一、手动 1.执行Analyze table innodb和mysiam存储引擎都可以通过执行“Analyze table tablena ...
分类:
数据库 时间:
2016-07-01 11:34:53
阅读次数:
228
本文针对并行和并发收集统计信息的相关知识内容以及部分案例进行介绍,并重点介绍并发统计信息收集。...
分类:
其他好文 时间:
2016-06-18 17:02:56
阅读次数:
296
在11g之前,当表的数据量改动超过总数据量的10%,就会晚上自己主动收集统计信息。怎样推断10%。之前的帖子有研究过:oracle自己主动统计信息的收集原理及实验。这个STALE_PERCENT=10%,是无法改动的,假设表很大。10%是许多的数据,很有可能造成统计信息不准确。 在11g之后,STA ...
分类:
数据库 时间:
2016-04-04 16:35:11
阅读次数:
326
原文地址:http://www.oracle.com/technetwork/issue-archive/2009/09-jan/o19asktom-086775.html 动态采样是为了解决当硬解析时对没有统计信息的表抽样收集统计信息,让优化器走出合适的执行计划。 从oracle9.2开始,动态采 ...
分类:
数据库 时间:
2016-03-31 01:37:25
阅读次数:
301
runstats工具是《 oracle database 9i/10g/11g编程艺术 深入数据库体系结构》作者写的一个统计性能工具,能对做同一件事的两个方法进行比较,得到孰优孰劣的结果。 (看到runstats想到了db2 里有runstats命令收集统计信息) runststs工具主要测量三个要
分类:
数据库 时间:
2016-01-30 18:24:43
阅读次数:
214
测试数据:SQL>createtabletest1asselect*fromdba_objects;
Tablecreated.
SQL>createtabletest2asselect*fromuser_objects;
Tablecreated.
SQL>createtabletest3asselect*fromdba_objects;
Tablecreated.收集统计信息:BEGIN
DBMS_STATS.GATHER_TABLE_STATS(ownname=..
分类:
数据库 时间:
2015-09-18 18:50:53
阅读次数:
310
官网的链接如下:http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_4005.htm#SQLRF01105使用DBMS_STATS 收集统计信息参考:Oracle Statistic 统计信息 小结http://blog....
分类:
数据库 时间:
2015-09-10 01:44:08
阅读次数:
429
emp表有如下数据。SQL>selectename,deptnofromemp;
ENAME DEPTNO
----------------------------------------
SMITH 20
ALLEN 30
WARD 30
JONES 20
MARTIN 30
BLAKE 30
CLARK 10
SCOTT 20
KING 10
TURNER 30
ADAMS 20
JAMES 30
FORD..
分类:
数据库 时间:
2015-08-19 02:06:45
阅读次数:
213
对于分区表,优化器会在全局级别为整个表维护一份统计信息,也会在分区级别为分区表维护一份统计信息。 对于大多数分区,dml一般都是在最近的分区上执行。在11g中,数据库支持只对那些发生一定数据变化的分区收集统计信息(默认的threshold是分区的10%的行)11g之前,数据库为了获得global统计...
分类:
其他好文 时间:
2015-08-13 14:22:09
阅读次数:
140