私は多くのテーブルに修正日フィールドを保存しています。ロジックに時間部分を使用する必要がある場合もあれば、日付部分だけが必要な場合もあります。次のシナリオのどれがより効率的/ベストプラクティスであるか疑問に思います。
2つの列(1つはDATE型と1つはDATETIME型)を格納します。どちらも同じインスタンスを時間で表しますが、DATE列には明らかに日付部分のみが格納されます。日付のみの比較を行う必要がある場合は、DATE列を使用し、DATETIME列を使用する時間を含む比較を行う必要がある場合。
タイプDATETIMEの1つの列を格納し、CONVERT(DATE、Date_Amended_Col)を使用して、必要なときにいつでも日付部分を取得します。
毎回CONVERTを使用すると、かなりのオーバーヘッドが発生しますか?DATE部分の方がアクセス頻度が高いと思いますので、CONVERTを多用している気がします。
修正が行われたときに両方のフィールドを更新する必要があるという事実を除けば、2番目の方法の明らかな欠点は考えられません。必要に応じて、いつでもそのトリガーを使用できます。
それとももっと良い方法はありますか?計算列を使用することは、毎回CONVERTを使用することと同じでしょうか?
どんな考えでもいただければ幸いです。
どうもありがとう、
アル