私はユーザーテーブルを使用しており、「期間終了日」を設定したいと考えています。基本的に、新しいユーザーには、保護観察期間の一部として参加してから2ヶ月間のフルタイムがあります。私は私のユーザーテーブルの列に数式を配置することができますが、代わりにこれを更新するスクリプトを持っている必要がありますか、またはこれは計算された列を使用するための許容時間ですかと思っています。この表にはさまざまなことがあり、パフォーマンスマイルストーンの成果に基づいてユーザーの行が更新されることがあります。出願日は決して変更/更新されません。SQL Serverの計算された列のベストプラクティス
私の質問は:計算された列をこのような状況で使用するのがよいか、または(私がアプリケーションの日付を更新するつもりはないが)その行を更新するたびに再計算されますか?私は将来、行を更新するときにオーバーヘッドを増やしたくありません。私は保護観察終了日の列定義で使用している
式:
(dateadd(day,(-1),dateadd(month,(3),dateadd(day,(1)-datepart(day,[APP_DT]),[APP_DT]))))
は「参加日」であり、「申請日(私は2ヶ月のうちの月の終わりを取得するために、わずかに少ないconvultedアプローチを使用注意してください。) " 同じこと?他の日付列とは独立して保護観察終了日を後で更新できるようにしたいですか? –
2ヶ月の方針は変わりますか?それは将来1または3(または他の値)になることができますか? –
はい、JoinDate/AppDate同じこと(申し訳ありませんが、私はそれらを交換可能に使用します)。私は日付を上書きすることはありませんが、更新されないので、挿入スクリプトの一部としてそれを含めることにします。私はこれも索引付けする必要があり、永続的なものがなければ、うまく機能しません。雷の素早い返信に感謝します! – Brian