- 浏览: 1003166 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (529)
- 服务器 (8)
- jsp (1)
- java (6)
- AIX (1)
- solaris (3)
- linux学习 (53)
- javaScript (2)
- hibernate (1)
- 数据库 (74)
- sql语句 (8)
- oracle 学习 (75)
- oracle 案例 (42)
- oracle 管理 (42)
- Oracle RAC (27)
- oracle data guard (12)
- oracle 参数讲解 (14)
- Oracle 字符集 (8)
- oracle性能调优 (24)
- oracle备份与恢复 (12)
- oracle Tablespace (9)
- oracle性能诊断艺术 (1)
- oracle 11g学习 (5)
- oracle streams (1)
- oracle upgrade and downgrade (4)
- db2学习 (13)
- db2命令学习 (2)
- mysql (28)
- sql server (30)
- sql server 2008 (0)
- 工具 (10)
- 操作系统 (3)
- c++ (1)
- stock (1)
- 生活 (5)
- HADOOP (2)
最新评论
-
massjcy:
...
如何将ubuntu文件夹中文名改为英文 -
skypiea:
谢谢。。。
终于解决了。。。
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262) -
qwe_rt:
引用vi /etc/sysconfig/network 请问 ...
Linux操作系统下配置静态IP上网 -
liuqiang:
sudo killall -9 apache2
ps 和 kill 命令详解 -
dazuiba:
引用*绝杀 kill -9 PID 当使用此命令时,一定要通过 ...
ps 和 kill 命令详解
本文只涉及使用dbm_stats来收集或删除列的统计信息的一些命令,以备查询。
测试表如下(实验环境为10.2.0.4):
SQL> create table test(i int,a varchar2(30)); Table created. SQL> insert into test select rownum,object_name from all_objects; 9907 rows created.
简单的说,列的统计信息,主要包括两种类型:
- 只有基本信息:收集的统计信息只有1个桶(bucket)
- 包含柱状图信息:收集的统计信息包含2到254个桶
也就是说,如果想收集列的基本信息,同时不希望收集柱状图,则需要指定bucket的size为1:
SQL> exec dbms_stats.gather_table_stats(user, 'TEST', cascade=>false, method_opt=>'for columns i size 1'); PL/SQL procedure successfully completed. SQL> select column_name,num_distinct,num_buckets,low_value,high_value,density, avg_col_len,histogram 2 from user_tab_columns where table_name='TEST'; COLUMN_NAM DISTINCT BUCKETS LOW_VALUE HIGH_VALUE DENSITY AVG_COL_LEN HISTOGRAM ---------- -------- ------- ---------- ---------- ---------- ----------- ---------- I 9907 1 C102 C26408 .000100939 4 NONE A NONE
如果要收集列的柱状图信息,则bucket的个数必须大于等于2(最多不超过254)
SQL> exec dbms_stats.gather_table_stats(user, 'TEST', cascade=>false, method_opt=>'for columns i size 2'); PL/SQL procedure successfully completed. SQL> select column_name,num_distinct,num_buckets,low_value,high_value,density, avg_col_len,histogram 2 from user_tab_columns where table_name='TEST'; COLUMN DISTINCT BUCKETS LOW_VALUE HIGH_VALUE DENSITY AVG_COL_LEN HISTOGRAM ------ -------- ------- --------- ---------- ---------- ----------- --------------- I 9907 2 C102 C26408 .000100939 4 HEIGHT BALANCED A NONE
如果要删除列已有的柱状图信息而保留列的基本统计信息,则需要重新收集bucket为1的统计信息
SQL> exec dbms_stats.gather_table_stats(user, 'TEST', cascade=>false, method_opt=>'for columns i size 1'); PL/SQL procedure successfully completed. SQL> select column_name,num_distinct,num_buckets,low_value,high_value,density, avg_col_len,histogram 2 from user_tab_columns where table_name='TEST'; COLUMN DISTINCT BUCKETS LOW_VALUE HIGH_VALUE DENSITY AVG_COL_LEN HISTOGRAM ------ -------- ------- ---------- ---------- ---------- ----------- ---------- I 9907 1 C102 C26408 .000100939 4 NONE A NONE
这个操作明显不太合理,重新收集统计信息的代价有时候是很大的,所以Oracle11g对此做出了改进,允许只删除柱状图而保留基本统计信息,命令语法如下:
exec dbms_stats.delete_column_stats(user, 'TEST','I',col_stat_type=>'HISTOGRAM');
而要彻底删除整个列的统计信息,则需要调用delete_column_stats过程
SQL> exec dbms_stats.delete_column_stats(user, 'TEST', 'I'); PL/SQL procedure successfully completed. SQL> select column_name,num_distinct,num_buckets,low_value,high_value,density, avg_col_len,histogram 2 from user_tab_columns where table_name='TEST'; COLUMN DISTINCT BUCKETS LOW_VALUE HIGH_VALUE DENSITY AVG_COL_LEN HISTOGRAM ------ -------- ------- ---------- ---------- ------- ----------- ---------- I NONE A NONE
可以在同一个过程中收集多个列的统计信息,并且可以为不同的列指定不同的bucket个数:
SQL> exec dbms_stats.gather_table_stats(user, 'TEST', cascade=>false, method_opt => 'for columns size 1 T for columns size 2 A'); PL/SQL procedure successfully completed. SQL> select column_name,num_distinct,num_buckets,low_value,high_value,density, avg_col_len,histogram 2 from user_tab_columns where table_name='TEST'; COLUMN DISTINCT BUCKETS LOW_VALUE HIGH_VALUE DENSITY AVG_COL_LEN HISTOGRAM ------ -------- ------- --------- -------------------- ---------- ----------- --------------- I 9907 1 C102 C26408 .000100939 4 NONE A 7376 2 41 5F75746C245F6C6E635F .000185239 18 HEIGHT BALANCED 696E645F7061727473
值得注意的是,9i的dbms_stats中,method_opt的默认值是FOR ALL COLUMNS SIZE 1,也就是收集列的基本统计信息而不收集柱状图信息,而10g的默认值则变成了FOR ALL COLUMNS SIZE AUTO,则Oracle在收集列的基本信息之外,还会根据情况收集某些列的柱状图。
发表评论
-
sqlldr总结参数介绍
2012-06-28 14:29 22713有效的关键字: userid -- ORACLE use ... -
11gR2新特性:STANDBY_MAX_DATA_DELAY
2011-12-27 11:18 1160Active Data Guard 是 Oracle 11g ... -
Linux下用OCCI或OCI连接Oracle
2011-07-26 12:00 2869首先,去oracle官网下载C ... -
Oracle Mutex实现机制
2011-05-18 23:43 1036我们都知道Latch是Oracle ... -
local_listener参数作用
2011-05-10 17:19 1875pmon只会动态注册port等于1521的监听,否则 ... -
oracle伪列 rowid和rownum
2011-03-23 10:00 3495整理ROWID一 一,什么是伪列RowID?1,首先是一种数 ... -
Oracle10gR2 主备自动切换之客户端Failover配置
2011-01-20 10:32 9251. 主库检查和设置假设新增的服务名为ORCL_TAF.LK. ... -
Oracle10g配置Dataguard的相关参数解释
2011-01-20 10:24 1232参考自 http://space.itpub.ne ... -
wrap加密oracle包
2011-01-19 11:52 1272大家都知道oracle的很多系统包是没法看它的源码的,orac ... -
利用hcheck检查数据字典一致性状态
2011-01-17 17:42 1773利用hcheck可以检查oracle数据字典的一致性状态,主要 ... -
插入相同的数据量普通表和临时表产生的redo对比
2011-01-17 16:08 962往临时表里插入相同量 ... -
Database Link与GLOBAL_NAMES参数
2011-01-12 13:36 1007当GLOBAL_NAMES参数设置为TRUE时,使用DATAB ... -
Oracle Streams学习二(清除流配置)
2011-01-09 23:34 1154在完成streams部署之后,如果需要重新配置或舍弃配置,可以 ... -
red hat enterprise 下完全删除oracle 数据库
2011-01-05 01:28 1723步骤 1 以oracle用户登录主、备节点。步骤 2 ... -
Oracle常用dump命令
2010-12-20 00:31 797Oracle常用dump命令,记录一下备查。 一.M ... -
oracle执行DML(事物过程)的深入研究(二)
2010-12-14 15:02 1510接上一节的 oracle执行DML(事物过程)的深入研究(一) ... -
oracle执行DML(事物过程)的深入研究(一)
2010-12-14 10:26 2777用户所执行 DML (即执行事务)操作在 Oracle 内部按 ... -
Oracle基本数据类型存储格式研究(二)—数字类型
2010-12-14 00:35 1442数字类型包含number,intege ... -
Oracle基本数据类型存储格式研究(一)—字符类型
2010-12-13 23:32 11401.char char是定长字符型,内部代码是:96,最多可 ... -
关于oracle rowid的一些内容 -- 转载
2010-12-13 15:47 752本文讨论的是关于oracle ...
相关推荐
功能强大的flex的高级报表查询统计,带动态添加和删除列
实现某部门职工信息管理。职工信息包括:职工号、姓名、性别、年龄...6、统计功能:对文件中某关键字的相关记录内容信息进行统计(比如人数.工资等),7、排序:根据给定字段,对记录进行排序,例如:按工资的高低排序
学生信息管理系统,实现学生信息包括:学号、姓名、性别、年龄、班级等信息。...(1)添加功能:(2)查询功能:(3)显示功能:(4)编辑功能:(5)删除功能:(6)统计功能:(7)保存功能:(8)读取功能:
(1) 列出HBase所有的表的相关信息,例如表名、创建时间等;(2) 在终端打印出指定的表的所有记录数据;(3) 向已经创建好的表添加和删除指定的列族或列;(4) 清空指定的表的所有记录数据(5) 统计表的行数。2...
教务管理系统类:定义了一个 EduSystem 类,包含了添加学生信息、添加学生成绩信息、删除学生信息、修改学生信息、修改学生成绩信息、查询学生信息以及各种统计功能的方法。 主函数:在 main() 函数中实例化了一个 ...
1) 问:我从搜索引擎中搜索不同的关键词进入多次,但只列出一个关键词。 答:后面的几次进入被系统认为是“刷新”或者“站内页面跳转”,系统 并不对关键词等信息进行分析。 2) 问:我的系统不支持FSO,安装步骤的...
统计自动删除。结果中有非常详尽的信息,绝对能满足您的欲望;比如:文件统 计则会把所有的符合条件文件有序的列出,包括统计时间,文件总数,大小等。 数据统计则会用间隔符分条列出,每个结果都会列出在源文件中...
主要有对某列字符替换、groupby分组统计、聚合统计、根据某列进行排序、dataframe格式转...列数据末尾添加特殊字符、获取索引和数据、删除重复数据、常用的统计计算、使用countains可以用来正则匹配筛选、某列累计求和...
统计自动删除。结果中有非常详尽的信息,绝对能满足您的欲望;比如:文件统 计则会把所有的符合条件文件有序的列出,包括统计时间,文件总数,大小等。 数据统计则会用间隔符分条列出,每个结果都会列出在源文件中...
excel多余对象清理工具/Excel瘦身小工具/Excel表格行列统计 有暴力删除(删除全部对象,不管是否有用)模式 有常规清理(目前仅支持删除AutoShape/图表、Textbox/文本框,共2种对象)模式 --这几种对象正常都不是...
代码行数统计 - Powered By Null HeTaoOS@Gmail.com<br>http://hi.baidu.com/hetaoos<br><br>... 5,设置 可以自定义统计代码中,那些行计入有效代码,这个设置的结果,将显示在表格的“自定义”列中。
1) 问:我从搜索引擎中搜索不同的关键词进入多次,但只列出一个关键词。 答:后面的几次进入被系统认为是“刷新”或者“站内页面跳转”,系统 并不对关键词等信息进行分析。 2) 问:我的系统不支持FSO,安装步骤的...
管理员可对商品信息的进行查询、修改、删除、添加操作;商品类别必须是商品类别表中项;商品售出后库存相应减少;商品在销售过程中可能会有多种促销活动,用户可谁是更改。商品的售价可按活动中的活动规则和活动时间...
3.在已经读取的信息的基础上,完成添加、删除、修改、查找学生信息的操作。 4.根据获取的信息,统计本科生、硕士生、博士生人数,并显示在cmd窗口中。 5.对本硕博3类学生,分别根据学号升序排序,并按学号、学生姓名...
商品销售信息管理:商品销售信息包括商品销售数量、单价、统计日期等。商品销售管理功能完成销售信息登记、修改和删除等。 分类查看:可以根据商品类型来查看某种商品的销售情况。 更新库存:销售信息的变动直接关系...
通过这些图形,我们可以直观地了解数据的分布情况、频数分布等信息,并对数据进行初步的统计分析。 3. 统计分析和可视化 除了读取数据文件和绘制图形之外,我们还可以使用各种统计分析方法和可视化工具对数据进行...
第9章 网站统计分析 247 9.1 网站统计分析概述 248 9.1.1 功能概述 248 9.1.2 数据库设计 248 9.2 网站统计分析关键技术 250 9.2.1 GDI+绘制图形 250 9.2.2 柱型图的绘制 251 9.2.3 饼型图的绘制 ...
不过要注意的是,如果你想要删除文件时,虽然可以透过 WinDirStat工具列上的那个叉叉按钮,不过可要真的确定你不需要这些文件才这么做喔。因为藉由这个功能所删除的文件,将会不经过「回收站」而被直接删除喔!
系统管理员通过该系统能够对整个列车站的列车,车票等信息进行统计,添加,删除,对售票员进行增加或减少,对铁路部门的列车及售票系统进行统一管理。 该软件构建起区域铁路部门列车信息及车票信息,及售票情况,...