当前位置: 首页 > 面试题库 >

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

程鸿煊
2023-03-14
问题内容

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

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

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


问题答案:

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

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

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



 类似资料:
  • 我正在使用Laravel5.7和MySQL。我有一个表和一个表,其中包含每个城市中可用的服务。可以在1个或多个城市提供1项服务。每个城市属于一个州,每个州属于一个国家。我想返回服务、城市、州和国家,但我不确定如何在每个模型中建立关系。我可以检索城市、州和国家吗? 城市 国家 国家 服务 允许的位置 国家id,名称1,美国 国家 城市 服务 允许的位置 services.php模型 cities.p

  • 我正在使用Ebean和Play 2框架,并得到两个模型:用户模型和图书模型。用户模型与图书模型以一对多关系连接。所以每个用户可以有很多书或者根本没有书。图书模式本身也有其特性。现在我想在用户模型中创建一个查询,它只返回用户,这些用户拥有具有某些属性的书籍。例如:一个属性可能是条件,如新建或使用。现在给我所有有新条件的书的用户。是否可以使用Ebean方法创建这样的查询?还是我必须使用原始SQL?

  • 我正在开发一个人力资源管理应用程序,所以我对如何通过JPA管理实体感到困惑。 我的情况是一组多语言上下文中的表:-employees-departments-languages-departments_languages 在我的数据库表之后: 从这个查询中,我需要员工信息,以及部门名称(假设languageId为1) 从eclipse JPA控制台执行查询将返回一个Employee对象,该对象具有

  • 我有一个密码查询,它应该返回节点和边,这样我就可以在web应用程序中呈现我的图形的表示。我使用Neo4joOperations中的方法运行它。 之前,我使用的是spring数据neo4j 3.3。1使用嵌入式数据库,此查询在返回具有开始节点和结束节点的关系代理方面做得很好。我已经升级到SpringDataNeo4J4.0。0并切换到使用远程服务器,现在它返回的LinkedHashMaps非常空。

  • 现在我需要正在学习‘程序设计’课程的学生名单 如何使用条件查询实现这一点。

  • 问题内容: 我正试图消除我的SQL技能,并需要以下查询的帮助。我当前使用的数据库是mysql。 我想检索所有同时分配了’tag2’和’tag4’的抽认卡。根据现有表的内容(如以下摘录所示),查询应返回两行:FlashCard_ID 1和2。 我将如何制定此查询?自从我不得不做这样的事情已经有一段时间了。 问题答案: