oracle表分析

oralce在遇到多表关联的时候,经常会遇到sql执行很慢的情况,分析 sql的执行计划发现表确实走的是索引路径,此时你就要看看使用的表是不是很久没有收集过统计信息了,需要执行一下oracle表分析

查看当前用户下表分析情况

select num_rows, blocks, last_analyzed from user_tables where table_name = 'T_SAMPLE';  

可以查看其他用户下表分析情况

select num_rows, blocks, last_analyzed from all_tables where table_name = 'T_SAMPLE';  

表分析语句,修改对应的oracle用户和表名。

BEGIN
DBMS_STATS.GATHER_TABLE_STATS(OWNNAME          => '用户',
TABNAME          => 'T_SAMPLE',
ESTIMATE_PERCENT => 100,
NO_INVALIDATE    => FALSE, --立马生效
DEGREE           => 8,
CASCADE          => TRUE);
END;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、源题QUESTION 36Your database is open and the LISTENER lis...
    猫猫_tomluo阅读 5,101评论 0 2
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,791评论 0 9
  • 常用语句: sql/plus sqlplus 'amdocs/Amdocs.Jx.China.110#@ysdb1...
    好好学习的蜗牛阅读 8,337评论 0 0
  • --$理论知识$-- --$$、三大范式 第一范式(1NF):字段是原子性的,不可分; 第二范式(2NF):有主键...
    scottyang95阅读 4,048评论 0 4
  • 多表查询 笛卡尔积 虚拟表 s_emp s_dept 上述两个表所有的列在虚拟表都会出现, 引用那些列 原始表.列...
    冰川_阅读 3,247评论 0 0