2

create_timeupdate_time追加する必要があるテーブルの種類を知りたいですか?

videoテーブル、video_detailテーブル、tagテーブル、テーブルがある場合tag_video_relation

テーブル ( など) にはand列tag``tag_video_relationが必要ないことは わかっていますが、 andはどうですか?create_timeupdate_timevideovideo_detail

videoテーブルに100 万行あるcreate_timeupdate_time、大量のストレージが必要になります。

では、どのような状況で、いつテーブルに必要な create_timeupdate_timeですか?

4

1 に答える 1

2

通常、フィールドは後で役立つようになるため、すべてのテーブルにフィールドを追加するのが最善であることがわかりました。

問題や問題を調査し、いつ発生したかを特定するのに役立ちます。これらは、問題の診断とデバッグに非常に役立ちます。

新しいモデル/テーブルのデフォルト テンプレート (「スケルトン」) に created_at と updated_at が自動的に含まれる Ruby On Rails のようなフレームワークで、このアプローチを見ることができます。

tag_video_relation に関して言えば、create_time と update_time は必要ありません。実際、この種の関係には有用な列だと思います。多くの場合、関係がいつ作成されたかを知る機能は、保存するのに役立つ情報です。リレーションの 'updated_at' 列は、リレーションが作成または削除されただけの場合、更新フィールドがない 1 つのケースである可能性があります。

ストレージに関しては、これは些細な問題であり、Oracle、SQL Server、Postgres などの最新の rdmb では通常問題にならないものだと思います。これらは、数百万の行や数千のテーブルから情報を迅速に取得できるようにすることを目的としています。

私はアプリケーション (新旧両方のテクノロジー) とデータ ウェアハウジングに長年携わってきましたが、多くのテーブルにフィールドを頻繁に追加する傾向があるため、この意見をまとめるに至りました。作業したすべてのテーブルにそれを追加するのは私の個人的な習慣でした。レールなどのフレームワークがこの概念を使用しているという事実は、私自身の実践の良い検証のように思えます.

于 2014-02-22T12:06:16.170 に答える