ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一次latch free调整(1)

一次latch free调整(1)

原创 Linux操作系统 作者:westzq1984 时间:2009-04-12 20:55:48 0 删除 编辑

今天开发告诉我,有个DELETE操作运行了12个小时以后还没结果
一看正在遭遇LATCH等待,98 cache buffers chains
很郁闷,把DELETE换成SELECT,为秒级别的相应

分析后,没有热块(整个数据库只有该SESSION在等待latch free),没有大量的逻辑读(通过SELECT语句)

这个SQL大概为
delete FROM A
WHERE A.COL1 < XXXXX
  AND A.COL1 > XXXXX
  AND EXISTS (
  SELECT 1 FROM B,C
  WHERE B.COL1 = C.COL1
    AND B.COL2 = A.COL2
  )

如果去除C表条件,秒级相应。 
 
比对DELETE和SELECT的执行计划,发现DELETE语句的执行计划有问题,在一个根本不相关的索引上做全扫描
查了下索引,在B表的COL2上尽然没索引。加了个索引,执行计划变了,查询变为秒级

状况很奇怪,感觉是BUG,今天比较忙,明天继续研究下
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8242091/viewspace-588744/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 并行的威力
请登录后发表评论 登录
全部评论

注册时间:2009-04-06

  • 博文量
    251
  • 访问量
    966540