暂无图片
返回数说广场
你是个哈儿麦
2024-02-22
以下哪些操作会导致随后执行select count(object_id) from demo.t1; 时会发生硬解析 comment on table demo.t1 is '';----------- truncate table demo.t1;---------- alter table demo.t1 modify(owner varchar2(20));----------- exec dbms_stats.gather_table_stats('DEMO','T1',no_invalidate=>false);----------- delete from demo.t1; alter system set deferred_segment_creation=false;--------- 答案解析 1、收集统计信息会导致游标失效,但可能不会立即失效。而收集统计信息时,加上on_invalidate=>false的选项,会立即失效相关游标。 2、目标表上的DDL操作,也会导致游标立即失效。所以,alter table demo.t1 modify(owner varchar2(20));comment on table demo.t1 is '';truncate table demo.t1;都是DDL操作,而且都是对T1表上的DDL操作。 3、alter system set deferred_segment_creation=false;是修改系统参数,这会导致优化器的工作环境发生改变。当再次执行相关SQL时,会因为OPTIMIZER_MISMATCH的原因,导致原子游标不能共享,从而发生硬解析,重新生成相关执行计划。 4、delete from demo.t1;是DML操作,不会导致后续再次执行目标SQL时,发生硬解析的行为。
0
暂无图片 1
203
分享

评论

热门数说