日付付き(時刻なし)の日時のレコードセットに対するクエリに対する「ベストプラクティス」アプローチとは何かを知りたいと思いました。
日時データ型を使用するレコードセットから、日付範囲に基づいてレコードを返すいくつかのクエリを使用します。つまり、各レコードは範囲間を使用してチェックする必要があります。
クエリの例は次のとおりです。
Select *
FROM Usages
where CreationDateTime between '1/1/2012' AND '1/2/2012 11:59:59'
使用することBETWEEN
はリソースを大量に消費することであり、日付の日時データ型をチェックすることは常に非常にリソースを消費することになることを私は知っていますが、この状況で他の人が何を使用するか(または使用するか)を聞きたいです。
日時レコードを次のような日付に変換すると、パフォーマンスが向上しますか?
Select *
FROM Usages
where CONVERT(DATE,CreationDateTime) between '1/1/2012' AND '1/2/2012'
または、それよりも小さい/大きいのチェックを行う可能性がありますか?
Select *
FROM Usages
where (CreationDateTime > '1/1/2012')
AND (CreationDateTime < '1/2/2012 11:59:59')