gpt4 book ai didi

sql-server - 在每个外键上添加索引的脚本?

转载 作者:行者123 更新时间:2023-12-02 14:23:21 25 4
gpt4 key购买 nike

视为 foreign key does not automatically create an index在 SQL Server 中,我想在数据库中的每个 FK 字段上创建显式索引。我的架构中有 100 多个表...

那么,是否有人有一个现成的打包脚本,我可以用它来检测所有 FK 并为每个 FK 创建索引?

最佳答案

好吧,我自己解决了这个问题 - 这是为了其他人的利益......

select 'create index IX_'+c.name+'_'+p.name+' on '+c.name+'('+cf.name+');'
from sysforeignkeys fk join sysobjects c on fk.fkeyid=c.id
join sysobjects p on fk.rkeyid=p.id
join syscolumns cf on c.id=cf.id and cf.colid = fk.fkey
left join sysindexkeys k on k.id = cf.id and k.colid = cf.colid
where k.id is null
order by c.name

它不能 100% 工作,例如,如果一个表上有两个 FK 指向同一个主表,但这种情况的实例很少(至少在我的数据库中),我可以手动纠正这些实例.

关于sql-server - 在每个外键上添加索引的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2309891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com