Chinaunix首页 | 论坛 | 博客
  • 博客访问: 663378
  • 博文数量: 66
  • 博客积分: 15
  • 博客等级: 民兵
  • 技术积分: 2204
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-26 21:43
个人简介

曾就职于阿里巴巴担任Oracle DBA,MySQL DBA,目前在新美大担任SRE。[是普罗米修斯还是一块石头,你自己选择!] 欢迎关注微信公众号 “自己的设计师”,不定期有原创运维文章推送。

文章分类

全部博文(66)

文章存档

2017年(2)

2016年(3)

2015年(7)

2014年(12)

2013年(42)

分类: Oracle

2013-12-13 23:21:42

外键不加索引是引起deadlock 的主要原因,如何查看未加所引的外键,如下sql便可实现
   select table_name,constraint_name,
cname1||nvl2(cname2,','||cname2,null)||
nvl2(cname3,','||cname3,null)||nvl2(cname4,','||cname4,null)||
nvl2(cname5,','||cname5,null)||nvl2(cname6,','||cname6,null)||
nvl2(cname7,','||cname7,null)||nvl2(cname8,','||cname8,null)
columns
from ( select b.table_name,
          b.constraint_name,
          max(decode(position,1,column_name,null)) cname1,
          max(decode(position,2,column_name,null)) cname2,
          max(decode(position,3,column_name,null)) cname3,
          max(decode(position,4,column_name,null)) cname4,
          max(decode(position,5,column_name,null)) cname5,
          max(decode(position,6,column_name,null)) cname6,
          max(decode(position,7,column_name,null)) cname7,
          max(decode(position,8,column_name,null)) cname8,
         count(*) col_cnt
    from ( select substr(table_name,1,30) table_name,
                        substr(constraint_name,1,30) constraint_name,
                        substr(column_name,1,30) column_name,
                        position
               from user_cons_columns ) a,
          user_constraints b
   where a.constraint_name=b.constraint_name
          and b.constraint_type='R'
      group by b.table_name,b.constraint_name
 ) cons
where col_cnt > ALL
 (select count(*) 
      from user_ind_columns i
    where i.table_name=cons.table_name
    and i.column_name in (cname1,cname2,cname3,cname4,cname5,cname6,cname7,cname8)
    and i.column_position <= cons.col_cnt
    group by i.index_name
)
阅读(1272) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~