%20und%20vielen%20Feldern%20(Spalten)%20braucht%20l%C3%A4nger%2C%20um%20eine%20SQL-Abfrage%20zur%C3%BCckzugeben%3F%20.png)
Richtig oder Falsch: Dauert es länger, eine SQL-Abfrage zurückzugeben, wenn die Tabelle aufgrund ihrer vielen Felder (Spalten) große Datensätze (Zeilen) aufweist?
Das heißt, wenn ich eine SELECT ... WHERE ...-Abfrage in SQL habe, die auf einer Tabelle mit vielen Feldern und daher vielen Big Data-lastigen Zeilen ausgeführt wird, wird diese SQL-Abfrage dann erheblich langsamer sein als die gleiche SELECT/WHERE-SQL-Abfrage, die auf einer Tabelle mit weniger Feldern ausgeführt wird?
Ich möchte eine eindeutige Antwort. Und auch nichts von diesem „es kommt ganz darauf an, warum testen Sie es nicht und schauen mal“-Zeug. ;-) Ich sage, es macht keinen Unterschied, es sei denn, Sie wählen eine absurde Zahl in der Nähe der maximalen Anzahl von Feldern, die Sie in einem Datensatz unterstützen können. Ziel ist SQL Server 2008. Danke.
BEARBEITEN: Was ich sagen möchte, ist, dass eine Tabelle mit den Feldern „GUID“, „NAME“, „ADRESSE“ … und 50 anderen Parametern länger braucht, um eine SELECT/WHERE-Abfrage für eine zweite Tabelle zurückzugeben, die nur „GUID“ und „NAME“ enthält, wobei das WHERE natürlich „= NAME“ ist (und dieselbe Rohzeilenanzahl aufweist, sagen wir, beide haben 10.000 Zeilen in der Tabelle).
Antwort1
WAHR
Antwort2
die Auswahl selbst sollte die gleiche sein wie bei anderen mit ähnlichen Bedingungen auf „kleineren“ Tabellen; aber die Datenübertragung von der Festplatte und über das Netzwerk dauert auch einige Zeit und wird definitiv von der Datenmenge beeinflusst.
In vielen (den meisten?) Fällen ist die Datenübertragungszeit jedoch viel kürzer als die Datensatzauswahlzeit. Wenn das so ist, könnte der Einfluss der Datengröße vernachlässigbar sein.
Antwort3
Benutzen Sie Ihr Gehirn. Wirklich. Vereinfachte Antworten sind nicht sinnvoll.
NATÜRLICH wird es einen Unterschied machen, da es einen Unterschied in der Verarbeitungsleistung und den ÜBERTRAGUNGSGESCHWINDIGKEITEN zwischen 100 und 100 Millionen Zeilen gibt (und nein, 100 Millionen Zeilen sind nicht absurd – ich führe mehrmals pro Tag 50 bis 200 Millionen Zeilenabfragen aus).
Dies beginnt mit der Speicherbreite und endet am Ende mit etwas so Einfachem wie der NETOWRK-Bandbreite – 10 Zeilen enthalten viel weniger Daten als 10 Millionen, und das Netzwerk ist in der Menge, die es pro Sekunde transportieren kann, unbegrenzt.
Zu Ihrer Bearbeitung: Sie kommen im Vergleich von 3 auf 53 Felder – rechnen Sie selbst nach. Normale Netzwerke sollten 100 Megabyte pro Sekunde zulassen. Also, ja, natürlich macht es einen Unterschied. Die Frage ist, wie relevant das ist. Aber dann, hey, machen Sie ausdrücklich klar, dass Sie nicht daran interessiert sind, das Problem wirklich zu verstehen, sondern eine binäre Ja/Nein-Antwort wollen. Sie haben es verstanden.