sql 语句系列(列举非索引外键)[八百章之第九章]

Posted 你永远想象不到,一个光鲜亮丽的Application,有多么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 语句系列(列举非索引外键)[八百章之第九章]相关的知识,希望对你有一定的参考价值。

列举非索引外键

列举出那些外键没有添加索引。

目的:
1.减少锁。
2.外键添加索引,提示了查询性能,因为要与父表做连接查询做笛卡尔积。

下面只要会复制即可,没有会去从新写一遍的。

select fkeys.table_name,fkeys.constraint_name,fkeys.column_name,ind_cols.index_name
from (
select a.object_id,d.column_id,a.name table_name,b.name constraint_name,d.name column_name
from sys.tables a join 
sys.foreign_keys b
on (a.name=‘EMP‘
and a.object_id=b.parent_object_id
)
join sys.foreign_key_columns c
on (b.object_id=c.constraint_object_id)
join sys.columns d
on (c.constraint_column_id=d.column_id and a.object_id=d.object_id)
) fkeys
left join(
select a.name index_name,b.object_id,b.column_id
from sys.indexes a,sys.index_columns b
where a.index_id= b.index_id
) ind_cols on (fkeys.object_id=ind_cols.object_id and fkeys.column_id=ind_cols.column_id)
where ind_cols.index_name is null

以上是关于sql 语句系列(列举非索引外键)[八百章之第九章]的主要内容,如果未能解决你的问题,请参考以下文章

sql 语句系列(用魔法打败魔法)[八百章之第十章]

sql 语句系列(行与列处理)[八百章之第一章]

sql 语句系列(加减乘除与平均)[八百章之第十四章]

sql 语句系列(字符串的遍历嵌入删除与统计)[八百章之第十一章]

sql 语句系列(众数中位数与百分比)[八百章之第十五章]

sql 语句系列(null 值处理)[八百章之第二章]