我应该用外键吗? [英] Should I use foreign keys?
问题描述
可能重复:
外键有什么问题?
我使用MS Sql服务器具有大约4 GB数据的大型数据库。
I use MS Sql Server with a large database about 4 GB data.
我在网路上搜索我为什么要使用外键。
现在我只索引用于连接表的键。
性能都很好,dataintegrety没有问题。
I search around the web why I should use foreign keys. by now I only indexed the keys used to join tables. Performance is all fine, dataintegrety is no problem.
我应该使用外键吗?我会用外键获得更多的表现吗?
Should I use foreign keys? Will I get even more performance with foreign keys?
推荐答案
外键实际上并没有提高性能,所有写操作的性能损失,以确保遵循约束。
Foreign key's don't actually improve performance, in fact they incur a small performance penalty on all write operations, to ensure that the constraint is followed.
要使用这些操作的原因是为了防止破坏性的写操作。如果你没有它们,错误的代码或坏的sql语句可以删除预期在那里的行。
The reason why you want to use these is to prevent destructive write operations. If you don't have them, buggy code, or a bad sql statement can remove rows that are expected to be there.
这篇关于我应该用外键吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!