小编典典

在SQL Server 2008中,关系会使查询更快吗?

sql

例如,如果我有一个BlogPosts表和一个PostCategory表,其中BlogPosts表具有FK字段PostCategoryId。关系会使得查询更快,还是更多的是数据质量?

何时涉及联接表呢?PostCategoryIdBlogPosts表中取出该字段,并在它们之间有一个名为的表,该表PostsInCategories只有2个FK字段:BlogPostIdPostCategoryId,组合形成一个PK。

关系可以改善那里的查询吗?


阅读 210

收藏
2021-04-07

共1个答案

小编典典

外键关系与 加强数据完整性有关 ,例如,确保您没有任何“ voodoo”子行,而这些子行不再具有父行,依此类推。

单独使用外键关系不会提高性能,因为SQL Server 不会 自动为外键创建任何索引。

出于多种原因(在增强引用完整性和提高JOIN性能时可提高性能-请参见Kimberly
Tripp的主题中的博客文章
),强烈建议您将索引添加到表中的所有外键字段中,并且添加这些索引将加快速度。使用那些FK关系的查询。

2021-04-07