1

毎晩設定された時間に属性の値をチェックするスケジュールされたタスクを実行しています。私の計画は、返された値に基づいてフロントエンドを構築することです。

現時点では、返すデータ量が非常に多いため、データベースで 1 晩に 800 行以上を返しています。

これらの列の 1 つは、クエリが実行された日付です。属性のすべてのグループ (つまり、スケジュールされたタスクが実行される毎晩) に対して、この dateTime 値は同じになるため、これは冗長であることに気付きました。

この冗長/繰り返しの日付をデータベースから削除する最善の方法は何ですか?

現時点では、次の列見出しがあります。

Id -- Name -- AttributeIMeasure -- dateRan

助けてくれてありがとう!

4

2 に答える 2

3

RunInformation主キー列、、Idおよび列を持つ別のテーブル、を作成したいと思いRunDateます。

Id -- RunDate

dateRan次に、テーブルの列をテーブルへの参照に置き換えることができRunInformationます。これにより、必要に応じて、将来の実行に関する追加情報を保存できます。

Id -- Name -- AttributeIMeasure -- RunInformationId
于 2012-04-24T11:00:44.527 に答える
2

私はこの冗長性を削除しません。

グループの一部だけを更新することはないと確信できますか? - 何らかの障害またはエラーですか? - 将来の要件の変更はありますか?

また、冗長性の本当のマイナス面は何ですか? 解決しようとしている実際の問題は何ですか?


本当にこれを行う必要がある場合は、単に属性をグループにマッピングする方法が必要です。

テーブルを作成しattribute_groups(少なくとも id フィールドと dateRan フィールドを含む)、attributeGroupID元のテーブルにフィールドを追加します。


しかし、この場合、スキーマの複雑さの増加、DateRan 値を取得するために必要な追加の結合、および制約の増加がどのように価値があるかはまだわかりません。

于 2012-04-24T11:04:05.837 に答える