0
をTable2
のようにスタックすると、パフォーマンスに影響が及ぶかどうかを確認しようとしていますか?パフォーマンスはどれが良いですか?スタッキングを使用したSQLパフォーマンス
クエリ#1:
SELECT *
FROM TABLE1
WHERE ID = 100
出力:
ID col1 col2
-------------
100 1 0
200 0 1
300 1 0
400 0 1
クエリ#2:
SELECT *
FROM TABLE2
WHERE ID = 100
出力:
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
また、SQL Serverはレコードをスキャンしますか?
おかげ
何をしているのですか?[** UNPIVOT **](https://technet.microsoft.com/en-us/library/ms177410(v = sql.105).aspx?f = 255&mspperror = -2147217396) )。それぞれには使い方があります。表2は大きくなりますが、適切なインデックスを使用すると同様のパフォーマンスが得られます。 –
2つの条件(1または2のデータ)を固定したばかりの場合、UNPIVIOTを実行する必要はありません。IDとデータを自己結合するだけでよいからです。 –
これは、システムの他の部分が結果セットに複数の行またはいくつかの列があるかどうか気にしないというのは少し奇妙です。 –