對或錯:具有大量記錄(行)和大量欄位(列)的表將需要更長的時間才能傳回 SQL 查詢?

對或錯:具有大量記錄(行)和大量欄位(列)的表將需要更長的時間才能傳回 SQL 查詢?

對或錯:由於欄位(列)較多而具有大量記錄(行)的表將需要更長的時間才能傳回 SQL 查詢?

也就是說,如果我在SQL 中有一個SELECT ... WHERE... 查詢,該查詢對具有許多字段(因此有大量大數據的行)的表進行操作,則此SQL 查詢將比相同的SELECT慢得多或慢得多/WHERE 對字段較少的表進行操作的 Sql 查詢?

我想要一個明確的答案。這些「這一切都取決於,為什麼不測試一下並看看」的東西也不是。 ;-) 我說這沒有什麼區別,除非你選擇一些接近記錄中可以支持的最大字段數的荒謬數字。目標是 SQL Server 2008。

編輯:我所說的是一個包含字段“GUID”、“NAME”、“ADDRESS”...和50 個其他參數的表將需要更長的時間才能返回針對僅具有“GUID”和“的第二表的SELECT/WHERE 查詢NAME”,其中 WHERE 當然是 '= NAME'(並且原始行數相同,假設表中都有 10000 行)。

答案1

真的

答案2

選擇本身應該與“較小”桌子上具有類似條件的其他選擇相同;但是從磁碟和網路上傳輸資料也需要一些時間,這肯定會受到資料量的影響。

在許多(大多數?)情況下,資料傳輸時間遠小於記錄選擇時間。如果是這樣,資料大小的影響可以忽略不計。

答案3

用你的大腦。真的。簡單化的答案是不明智的。

自然地,它會產生差異,因為 100 到 1 億行之間的處理能力和傳輸速度存在差異(不,1 億行並不荒謬 - 我每天多次運行 50-2 億行查詢)。

這從記憶體頻寬量開始,而不是像 NETOWRK 頻寬這樣簡單的東西結束 - 10 行的資料比 1000 萬少很多,而網路每秒可以傳輸的資料是無限的。

對於您的編輯:您可以從 3 個欄位進行比較到 53 個欄位 - 自己計算一下。正常網路應允許每秒 100 兆位元組。所以,是的,這自然會產生影響。你的問題是這有多相關。但是,嘿,你明確表示你對真正理解這個問題不感興趣,而是想要一個二元是/否答案。你說對了。

相關內容