Sql 将大数据分为两个表还是将其全部收集在一个表中更好

Sql 将大数据分为两个表还是将其全部收集在一个表中更好,sql,sql-server,Sql,Sql Server,我正在创建一个web应用程序,它的项目有大量的数据。我想知道将数据分成两个表(ItemData和ItemDataDetails)是否会减少查询的执行时间。 我的驱动器是,我有两页,一页显示关于该项目的最基本信息,另一页显示详细信息。根据逻辑,我认为它应该减少显示基本信息的页面的加载时间。我说的对不对?你说得对,检索更少的数据通常比检索更多的数据要快。 也就是说,将数据分离/隔离(根据数据项之间的关系将数据分为不同的表)作为减少冗余和依赖性的一种方法的过程被称为数据库规范化,是一种被广泛接受并记录

我正在创建一个web应用程序,它的项目有大量的数据。我想知道将数据分成两个表(ItemData和ItemDataDetails)是否会减少查询的执行时间。
我的驱动器是,我有两页,一页显示关于该项目的最基本信息,另一页显示详细信息。根据逻辑,我认为它应该减少显示基本信息的页面的加载时间。我说的对不对?

你说得对,检索更少的数据通常比检索更多的数据要快。 也就是说,将数据分离/隔离(根据数据项之间的关系将数据分为不同的表)作为减少冗余和依赖性的一种方法的过程被称为数据库规范化,是一种被广泛接受并记录在案的最佳实践


鉴于您所说的内容,您几乎肯定是正确的,比如在一页上显示一个项目的一些“标题”/摘要数据,然后在另一页上显示该项目的所有详细信息。特别是如果用户不一定想查看详细信息。使用列表或在一页上显示摘要和详细信息时,请注意此想法。

您的意思是表中有很多行,还是您正在获取大量数据以html显示?大量数据。我的表格目前有40个必填字段,还有更多的字段是非必填字段。在初始拉取期间,我不需要所有数据。实际上,如果关系为1-1,这将是一个de-normalisation@TonyHopkinson你的评论让我多想了一点——我不认为OP实际上是规范化或非规范化的。没有解决或重新引入冗余。这是简单的优化。你同意吗?标准化和非标准化都是优化。因为有两个表由相同的值设置了关键帧,其中一个可以,这是一种非标准化。这样想,非规范化和非规范化之间存在差异。任何有利于一个因素的优化都是另一个因素的非优化。@TonyHopkinson我的观点是,在这种逻辑下,重组这些表也将是一种非规范化。两个相反的动作怎么可能都是非规范化的呢?它们都可以用同一个键来识别,所以规范化会建议它们应该在同一个表中,所以我会将它们重新组合为一种优化,以减少占用空间和复杂性,并在行大小等方面进行协同的非优化。没有大的,1-1太有用了,不能成为纯粹主义者。