ジョブの詳細をジョブキューテーブル自体に持っているか、別のテーブルに詳細を持つのがいいですか?
-
12-12-2019 - |
質問
現在、サービスまたはコンソールアプリケーションがジョブキューテーブルからジョブを読み込むモジュールを設計しています。私はその中の次の情報を使ってジョブキューテーブルを設計しました:
jobid:intプライマリキー
jobType:int notnull
状態:varchar notnull
CreateSon:DateTime NotNull
LastModified:DateTime Nullable
CompleteOn:DateTime Nullable
JobType属性は主にこのテーブルを特定のタイプのジョブに向けてより一般的に保つために導入されます。私の質問は、このテーブル自体で実行されるジョブの詳細を維持するか、またはその他のテーブルを参照するのかということです。これは私が他のテーブルで利用可能なデータを持っているからです。そのため、ジョブを実行している間、データを間接的に取得できます。情報を複製しないようにするために、私はこのようなものを考えました。これは良いアプローチですか?この
についてあなたのアドバイスが必要です解決
その表の「その他のテーブル」にあるデータを保持してください。ここで考慮する必要があるものは、データを使用する方法です。
詳細を表示するために1つを選択できる場所からいくつかの索引付きジョブを表示する場合は、データを2つの別々のフェッチで入手できます。または、ジョブに関連するすべてのデータ(JobQueue Table Plusデータのデータ(その他のテーブルのデータ)に必要な場合は、常に結合を使用して単一のフェッチを実行できます。JobDetailsデータを別のテーブルに保存すると問題が発生するとは思わない。
他のヒント
ここにはたくさんの属性が表示されません(たぶんあなたはそれらを見せなかった?)
id(jobid)が明確に必要とされている、タイプと状態の情報(このデータなしでどのようにできるようにすることもできません)
で、監査情報、作成、変更、完了があります。私自身は、作成したユーザーのためにそこに文字列を置くのが好きですが、私は私が作成するすべてのテーブルでその監査情報を持っています。何が起こったのかわからない場合は常に便利です。