テーブルBusiness
(10,000行以上含む)とビット列ISBILLINGBUSINESS
があります。 ストアドプロシージャでは、レコードに対してISBILLINGBUSINESS
がTrueかどうかを確認する必要があります。SQLサーバーIF EXISTSとIF条件Perfomance
私は2つの方法と比較できます。
(1)
IF EXISTS (SELECT id FROM BUSINESS WHERE ID = 5404 AND ISBILLINGBUSINESS = 1)
select 'Billing Business'
(2)
IF((SELECT ISBILLINGBUSINESS FROM BUSINESS WHERE ID = 5404) = 1)
select 'Billing Business'
私は、次の2つのメソッドのパフォーマンス賢明な違いを知ってほしいです。 どちらが良いですか?誰も助けることができますか?
問合せ計画を確認してくださいは、(CTRL- L)。それらが同じであれば、違いはありません。データベースでパフォーマンスを望む場合は、索引の詳細を考え、コードがSARGableであることを確認してください。しかし、10K行の表では、索引としてのこの問題は使用されません。ビット列のインデックスだけは使用されません。 –