能给语句么?
还有要什么参数么?
如果该表正在使用,b/s结构,此时可能好多客户端在操作,能直接分析表么?
分析有负面影响么?怎么分析最优?
---------------------------------------------------------------
查一下Oracle联机文档中的Analyze table的语法吧!
---------------------------------------------------------------
如果该表正在使用,b/s结构,此时可能好多客户端在操作,能直接分析表么?
分析有负面影响么?怎么分析最优?
此二问题值得关注!
---------------------------------------------------------------
analyze会增加磁盘空间
analyze table tablename estimate statistics sample 10 percent;
---------------------------------------------------------------
结果从dba_tables查
---------------------------------------------------------------
analyze 的使用
不如使用 dbms_stat包(这是因为在收集统计信息的时候有差异,具体的细说起来比较多,优化效果的选择也有差异),用户登陆sqlplus
exec dbms_stats.create_stat_table(user,user ¦ ¦'_stat_table');
搜集统计信息
exec DBMS_STATS.GATHER_schema_STATS(ownname => user,method_opt => 'for all indexed columns size 1');
简单的可以这么使用
删除统计数据
如果表很大,分析慢,estimate_percent,百分之20为例
exec DBMS_STATS.GATHER_schema_STATS(ownname => user,method_opt => 'for all indexed columns size 1',estimate_percent => 20);
exec DBMS_STATS.DELETE_schema_STATS(ownname => user);