次のクエリでいくつかのパフォーマンスの問題を修正したいと思います。SQL Serverの大きなデータセットからのフィルタデータのパフォーマンスチューニング
- TBL_A 65万行
- を有するTBL_B 2行
を有する私は&に使用しようとしているTBL_B
SELECT COUNT(*)
FROM Tbl_A R1 WITH (NOLOCK)
INNER JOIN Tbl_B PBD
ON PBD.Indicators = CASE R1.Indicator WHEN 'Y' THEN 'B'
WHEN 'N' THEN 'D'
WHEN '1' THEN 'B'
WHEN '0' THEN 'D'
ELSE R1.Indicator
END
の値でTBL_Aをフィルタリングする必要がある代わりに存在します参加することはできますが、パフォーマンス上のメリットはありません。手伝ってください。
おそらくパフォーマンスは向上しませんが、クエリの改善はWHEN 'と' WHEN 'Y' OR '1' THEN 'B''' WHEN' N 'OR' 0と組み合わせることができます'THEN' D'' –
いいえ動作していません – vignesh
これはn:mの関係だと思いますか? tbl_aでは複数回、tbl_bでは複数回同じ指標を見つけることができますか? –