多くのソリューションで見られる各レコードの2つの追加列(timeCreated、timeLastUpdated)について質問があります。私の質問:より良い代替案はありますか?
シナリオ:(レコードではなくテーブルに関して)巨大なDBがあり、顧客が来て、テーブルの80%に「タイムスタンピング」を追加するように求めてきます。
これは、別のテーブル(TIMESTAMPS)を使用することで実現できると思います。このテーブルには、明らかなタイムスタンプ列に加えて、更新されるテーブルのテーブル名と主キーが含まれます。(ここでは、ほとんどのテーブルの主キーとしてintを使用していると想定していますが、テーブル名は文字列である必要があります)。
これを描くために、この基本的なシナリオを想定します。2つのテーブルがあります。
支払い:-(通常のレコード)
タイムスタンプ:-{現在のタイムスタンプ} + { TABLE_UPDATED
、、}id_of_entry_updated
timestamp_type
この設計では、とによってインデックスを作成しているため、ネイティブの支払いオブジェクトにこれらの2つの「余分な」列は必要ありません(ちなみに、ORMソリューションを通過する可能性がありますTABLE_UPDATED
)id_of_entry_updated
。さらにtimestamp_type
、エントリが挿入用(「1」など)、更新用(「2」など)、および「削除」などの追加したいものがあるかどうかを通知します。
このデザインについてどう思いますか?私はベストプラクティス、何が機能し、時間の経過とともに拡大するかに最も興味があります。参照、リンク、ブログエントリは大歓迎です。この問題に対処しようとしている特許(係属中)を少なくとも1つ知っていますが、現時点では詳細は公開されていないようです。
乾杯、エドゥアルド