次のクエリがあります。
SELECT ID, ADDRESS
FROM EMPLOYEE A
WHERE ID=12345
AND CURRENT DATE BETWEEN A.EFF_DT AND A.EXP_DT
SELECT ID, ADDRESS
FROM EMPLOYEE A
WHERE ID=12345
AND CURRENT DATE >= A.EFF_DT AND CURRENT DATE <= A.EXP_DT
これらの2つのクエリのうち、どちらのクエリを使用するとパフォーマンスが向上します。
ここでは、BETWEENの代わりに演算子> =と<=を使用しています。
提案してください。
前もって感謝します。
DB2/zに関する私の知識に基づいて、これらは両方ともまったく同じ実行プロファイルを提供するはずです(LUW製品は異なる場合がありますが、私はそれを疑っています)。
本当に心配な場合は、2つのクエリで [〜#〜] Explain [〜#〜] を実行して、違いがあるかどうかを確認する必要があります。
Betweenは、単に> =と<=の省略形であり、
さらにヘルプが必要な場合は、リンクにアクセスしてください: SQL Serverの「BETWEEN」関数は非常に高価ですか?