次のコードがあります。
select * from View1 where (Timestamp >= @x) and (SomeCode like 'ABC%')
それはひどく遅いです。しかし、コード
select * from View1 where (Timestamp >= @x) (*)
かなり速く実行されます。またSomeCode like...
、フィルターは前の(*)コードでかなり高速に実行されます。したがって、2段階の場合は高速です。(View1
CLRで計算されたビューです。)
質問:SQL Server 2008 R2に、クエリ(より正確には、2つのフィルター)を2つのフェーズ、つまり最初にTimestamp
フィルター、次にフィルターを作成するようにアドバイスする方法SomeCode
。
注:クエリのネストは機能しません。また、処理も遅くなります。