引起Oracle阻塞的原因
2021-10-22 15:38:37
1、select for update
2、外键没有创建索引
(1)主表上有频繁的删除操作
(2)主键上有频繁的修改操作
(3)业务上经常会出现主表和从表进行关联查询
当第一个和第二个条件操作的时候,主表会在从表上创建一个锁定,以保证主表主键的修改不会导致从表的数据在引用上不会出现问题。
如果经常对主表的主键进行修改都将导致从表被长时间锁定。比如主表每次删除1000条记录,它将扫描从表1000次,以确定每一行记录的改变
不会造成从表的引用不完整。因此,在从表的外键上应该创建索引。
分析表
exec dbms_stats.gather_table_stats(user,'t',cascade=>true);--分析表相关对象信息cascade => true
开启执行计划
explain plan for select * from emp;
set autotrace trace exp stat;
alter seesion set sql_trace=true;
show parameter optimizer_mode;