对还是错:具有大量记录(行)和大量字段(列)的表将需要更长时间才能返回 SQL 查询?

对还是错:具有大量记录(行)和大量字段(列)的表将需要更长时间才能返回 SQL 查询?

对还是错:由于字段(列)很多,包含大量记录(行)的表将需要更长时间才能返回 SQL 查询?

也就是说,如果我在 SQL 中有一个 SELECT ... WHERE...查询,该查询对具有许多字段的表进行操作,因此有很多大数据重行,那么这个 SQL 查询将比对具有较少字段的表进行操作的相同 SELECT/WHERE Sql 查询慢得多还是慢得多?

我想要一个明确的答案。也不是那种“一切都取决于你,为什么不测试一下看看”之类的话。;-) 我说除非你选择了一个荒谬的数字,接近记录中可以支持的最大字段数,否则这没什么区别。目标是 SQL Server 2008。谢谢。

编辑:我的意思是,一个包含字段“GUID”、“NAME”、“ADDRESS”...和其他 50 个参数的表将需要更长的时间才能返回针对仅具有“GUID”和“NAME”的第二个表的 SELECT/WHERE 查询,其中 WHERE 当然是'= NAME'(和相同的原始行数,假设两个表中都有 10000 行)。

答案1

真的

答案2

选择本身应该与“较小”表上具有类似条件的其他选择相同;但是从磁盘和通过网络传输数据也需要一些时间,而且这肯定会受到数据量的影响。

在许多(大多数?)情况下,数据传输时间远小于记录选择时间。如果是这样,数据大小的影响可以忽略不计。

答案3

用你的大脑。真的。简单的答案是不明智的。

自然会产生差异,因为 1 亿行和 1 亿行之间的处理能力和传输速度存在差异(不,1 亿行并不荒谬 - 我每天多次运行 50-2 亿行查询)。

这始于内存带宽的数量,而不是最后以像 NETOWRK 带宽这样简单的内容结束 - 10 行的数据比 1000 万行少很多,并且网络每秒的传输量是无限的。

您的修改:您从 3 个字段变为 53 个字段,自己算一下。正常网络应允许每秒 100 兆字节。所以,是的,这自然是有区别的。问题是这有多重要。但是,嘿,您明确表示您不想真正理解这个问题,而是想要一个二进制的“是/否”答案。您明白了。

相关内容