3
テーブルにCreatedOnというDatetime列があります。 CreatedOnは、注文が降順である非クラスタ化インデックスの一部です。私はC#のコードでは、カットオフ日付を計算して、アドホックにこれを入れていますどこ私はどちらの条件が日時の条件がより速くなるか?
WHERE CreatedOn > '2012-04-04 00:00:00.000' AND ... other conditions
にこれを変更し
WHERE DateDiff(d,CreatedOn,GetDate()) < 180 AND ... other conditions
を次のように条件Iが条件を持っていたで以前
クエリ。
私によれば、2番目の条件は高速にする必要がありますが、クエリの実行時間に大きな変化は見られません。しかし、テーブルのサイズが大きくなると、どちらが速く実行されますか?
標準的な回答は次のとおりです。A)本当に問題になると思いますか?そしてB)もしそうなら、あなたのデータ、テーブル構造、インデックス、サーバなどでテストしてください:-)(しかし、私はもっと速いかもしれない、より最適化できると思います。) –
@TJCrowder:A it (一般的なSQLミス)。 BはAのために必要ありません – gbn
@gbn:Aへの答えは必ずしも重要ではありません。それはデータセットに依存します(たとえば、重要なインデックスです)。よくある間違い。 ;-) –