引起Oracle阻塞的原因

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;

posted on 2014-05-12 21:41  Sunny_NUAA  阅读(1847)  评论(0编辑  收藏  举报

导航