シナリオ:
タイムスタンプ フィールドを持つ大量のレコード (200 万) を含むログ テーブル。主キーとしての ID 以外のインデックスはなく、インデックス (またはその他の永続オブジェクト) の作成は問題外です
昨日のすべてのレコードを選択したい。
私はそれを行ういくつかの方法があることを知っています.「最良の」方法について意見を求めたいだけです.最善とは最速を意味します.
ここでのトリックは、タイムスタンプの「時間」です。なぜなら、今が午前 11 時で、次のようなことをするからです。
where modifiedDate between dateadd(dd,-1,getdate()) and getdate()
11 時に昨日のレコードのみを取得し、今日のデータを取得します
そのSQL 2005なので、「日付」データ型はありません