易截截图软件、单文件、免安装、纯绿色、仅160KB

【转】 Oracle中分析表的作用

Oracle中分析表的作用
http://diegoball.javaeye.com/blog/568009
文章分类:数据库
1.分析更新表的统计信息,,有可能导致执行计划改变..
2.以的analyze table abc compute statistics;这条为例,生成的统计信息会存在于user_tables这个视图,查看一下select * from user_tables where table_name='ABC';
观察一下NUM_ROWS,BLOCKS,AVG_SPACE,AVG_ROW_LEN几列你就会明白,这就是变化。分析完表之后,会发现DBA_tables 视图中,以前很多列值是空的,现在开始有数据了。这些数据就是分析表得到的.
3.怎么样分析表或索引
命令行方式可以采用analyze命令
如Analyze table tablename compute statistics;
Analyze index|cluster indexname estimate statistics;
ANALYZE TABLE tablename COMPUTE STATISTICS
FOR TABLE
FOR ALL [LOCAL] INDEXES
FOR ALL [INDEXED] COLUMNS;
ANALYZE TABLE tablename DELETE STATISTICS
ANALYZE TABLE tablename VALIDATE REF UPDATE
ANALYZE TABLE tablename VALIDATE STRUCTURE
[CASCADE]|[INTO TableName]
ANALYZE TABLE tablename LIST CHAINED ROWS [INTO TableName]
等等。
如果想分析整个用户或数据库,还可以采用工具包,可以并行分析
Dbms_utility(8i以前的工具包)
Dbms_stats(8i以后提供的工具包)

dbms_stats.gather_schema_stats(User,estimate_percent=>100,cascade=> TRUE);
dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);
这是对命令与工具包的一些总结
  (1)、对于分区表,建议使用DBMS_STATS,而不是使用Analyze语句。 
         a) 可以并行进行,对多个用户,多个Table 
         b) 可以得到整个分区表的数据和单个分区的数据。
         c) 可以在不同级别上Compute Statistics:单个分区,子分区,全表,所有分区
         d) 可以倒出统计信息
         e) 可以用户自动收集统计信息
  (2)、DBMS_STATS的缺点
        a) 不能Validate Structure
        b) 不能收集CHAINED ROWS, 不能收集CL


相关文档:

Oracle将表授权给用户的命令

Oracle将表授权给用户的命令
命令:grant  xxx权限 on TableA to USERA
grant select,insert,update,delete on 表名 to 用户名
例如:将test表的查询权限赋予solidwang这个用户
grant select on test to solidwang ......

在AIX环境下实施Oracle 集群RAC的结构 文平

  《oracle大型数据库系统在AIX/unix上的实战详解》集中讨论34:在AIX环境下实施Oracle 集群RAC的结构   文平 看来能用的起IBM p服务器的用户,都能用的起RAC.大家纷纷来信探讨在AIX上实施RAC的一些问题,大多数问题集中的构架上. 这里我开一个专题集中讨论之! 从Oracle 9i开始,Oracle推出真正应用集群Rea ......

oracle命令 收藏

  oracle命令 收藏
1. ORACLE数据库启动与关闭
1.1 打开和关闭数据库 (手工)
1.1.1 sqlplus连接
  #su - oracle
#sqlplus  /nolog
1.1.2 打开数据库
sql> connect sys/oracle as sysdba;
  sql> startup [nomount|mount]
等待十几秒左右,当看到
oracle instances started,
databa ......

oracle产生随机数或字符串

1 从现有的表中随机取记录
select * from (select st_base_id from t_base order by dbms_random.random) where rownum<=100; --这个是随机取出100个记录。
2 产生随机字符串
select dbms_random.string('u',100) from dual; --产生大写字母组成的字符串,'u'也可以写成'U'
select dbms_random.string('l',100) from ......

VC下利用Pro*C开发Oracle接口

本文介绍了使用Pro*C/C++在Visual
C++环境下开发Oracle数据库接口程序的方法
设计思路其实这样:首先通过VC建立一个工程,自动化建立MAKEFILE,UNIX需要自己写MAKEFILE。
其次配置VC的环境,将PROC的.H,.LIB的路径加入DERECTIRY。写一个PC文件,即PROC文件。放到工程相应的目录下。然后把PC文件加入工程。使用PROCUI.E ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号