外键缺索引检查脚本
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,--以ZLHIS用户执行Select Child_Table, Foreign_Key,Cname1 || Nvl2(Cname2, ',' || Cname2, Null) || Nvl2(Cnam
千家信息网最后更新 2026年11月03日外键缺索引检查脚本
--以ZLHIS用户执行
Select Child_Table, Foreign_Key,
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, Main_Table, Primary_Key,
Decode(p.Table_Name, Null, 0, 1) Key_Rows
From (Select Col_Cnt, Main_Table, Primary_Key, Child_Table, Foreign_Key,
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) As Columns, Cname1, Cname2, Cname3,
Cname4, Cname5, Cname6, Cname7, Cname8
From (Select c.Table_Name As Main_Table, b.r_Constraint_Name As Primary_Key, b.Table_Name As Child_Table,
b.Constraint_Name As Foreign_Key, 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 User_Cons_Columns A, User_Constraints B, User_Constraints C
Where a.Constraint_Name = b.Constraint_Name And b.Status = 'ENABLED' And b.Constraint_Type = 'R' And
b.r_Constraint_Name <> '部门表_PK' And b.r_Constraint_Name = c.Constraint_Name And
c.Table_Name Not In (Select 表名 From zlBaseCode)
Group By c.Table_Name, b.Table_Name, b.Constraint_Name, b.r_Constraint_Name)) Cons, User_Tab_Statistics S,
(Select Table_Name
From User_Tables
Where Table_Name In (Select 表名 From zlBakTables Union All Select 表名 From Zlbigtables) Or Table_Name Like '%病人%') P
Where Cons.Child_Table = s.Table_Name(+) And Cons.Main_Table = p.Table_Name(+) And Not Exists
(Select 1
From (Select Table_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) As Columns
From (Select i.Table_Name, Max(Decode(Column_Position, 1, Column_Name, Null)) Cname1,
Max(Decode(Column_Position, 2, Column_Name, Null)) Cname2,
Max(Decode(Column_Position, 3, Column_Name, Null)) Cname3,
Max(Decode(Column_Position, 4, Column_Name, Null)) Cname4,
Max(Decode(Column_Position, 5, Column_Name, Null)) Cname5,
Max(Decode(Column_Position, 6, Column_Name, Null)) Cname6,
Max(Decode(Column_Position, 7, Column_Name, Null)) Cname7,
Max(Decode(Column_Position, 8, Column_Name, Null)) Cname8
From User_Ind_Columns I, User_Indexes A, User_Constraints B
Where a.Index_Name = i.Index_Name And a.Status = 'VALID' And i.Table_Name = b.Table_Name And
b.Constraint_Type = 'R' And b.r_Constraint_Name <> '部门表_PK'
Group By i.Table_Name, i.Index_Name)) Inds
Where Instr(',' || Inds.Columns, ',' || Cons.Columns) = 1 And Cons.Child_Table = Inds.Table_Name)
Order By Key_Rows Desc, s.Num_Rows Desc Nulls Last
部门
用户
病人
索引
脚本
检查
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
华服互联网科技怎么样
西安纸贵互联网科技有限公司
互联网科技活动banner
嘟嘟瓜互联网科技
互联网金融科技创新
宜安科技 互联网金融
天下捷融互联网科技
金融科技和互联网金融
华中科技有哪些互联网大佬
天速互联网络科技有限公司
承德科技产业互联网发展
崇明区互联网教育科技诚信经营
互联网企业科技类企业如何做账
广州千川互联网科技有限公司
浙南科技城互联网大厦招聘
从那以后互联网科技有限公司
广东鹅鹅鹅互联网科技有限公司
互联网界的黑科技
北京天晋互联网科技有限公司
互联网科技革命
互联网公司会议桌创意科技软装饰
互联网实体化科技化
创业天下互联网科技有限公司
浙江互联网科技研学营
广西互联网科技孵化中心
沐思想互联网科技有限公司
产业互联网科技服务公司
工业互联网科技成果转化
中国主要互联网科技公司