Ich versuche zu verstehen, wird es einen Leistungseinfluss geben, wenn ich Table1
wie in Table2
stapeln? Was ist besser für die Leistung?SQL-Leistung mit dem Stapeln
Abfrage # 1:
SELECT *
FROM TABLE1
WHERE ID = 100
Output:
ID col1 col2
-------------
100 1 0
200 0 1
300 1 0
400 0 1
Abfrage # 2:
SELECT *
FROM TABLE2
WHERE ID = 100
Output:
ID col data
----------------
100 col1 1
100 col2 0
200 col1 0
200 col2 1
300 col1 1
300 col2 0
400 col1 0
400 col2 1
Wie scannt SQL Server die Datensätze?
Dank
Was Sie tun, ist Anruf [** UNPIVOT **] (https://technet.microsoft.com/en-us/library/ms177410 (v = sql.105) .aspx? F = 255 & mspperror = -2147217396). Jeder hat Gebrauch. Tabelle 2 wird größer sein, aber mit dem richtigen Index wird eine ähnliche Leistung haben. –
Wenn Sie nur zwei Bedingungen (Daten von 1 oder 2) festgelegt haben, müssen Sie nicht UNPIVIOT tun, weil Sie nur selbst ID und Daten beitreten können. –
Das ist ein bisschen komisch, dass es keinem anderen Teil Ihres Systems egal ist, ob es mehrere Zeilen oder mehrere Spalten in der Ergebnismenge gibt. –