0

私の上司は、ポイントを mysql データベースのユーザー テーブルに関連付けることで、ポイントを見つけるためのより簡単なシステムを作成するように私に依頼しました。古いシステムには、イベント、ポイント値、ユーザー用に完了したイベントを含む別のテーブル、管理者が指定したポイント用の別のテーブルがありました。したがって、私の仕事はこれらをすべて足し合わせて列に入れることでした。現在彼は、ポイントを追加するためのすべてのクエリがまだ実行されていることが問題だと言いますが、タスクの完了時に単純にユーザー列にポイントを追加するようにクエリを変更する代わりに、トリガーを使用してユーザー列にポイントを追加することを提案しました。他の列の 1 つにポイントが追加されている場合。

私には、これは回避策を使用して技術的負債を作成しているように思えます。私が間違っている?

私はシステムに不慣れで、すべてのクエリがphpページのどこにあるか正確にはわかりませんが、これが技術的負債を生み出している場合、これを修正する適切な方法は何でしょうか.

私は新しく、おそらく上司の提案に反しないようにSQLトリガーを使用するつもりです。少なくとも、スマートで最善の方法を知りたいです。

実際ではなく、実際に近いデータベーススキーマを提供するために最善を尽くしています EVENT: ID、ポイント値、Desc ユーザーイベント: USERID、EVENTID、COMPLETION-STATUS GIVEN-POINTS:USERID、POINTS_GIVEN、DESC更新点よりもログのほうが多い)

ポイント列を基本的な USER TABLE に追加しました。トリガーは、クエリを変更する代わりに、ユーザーイベント完了ステータス = 完了、ポイント値の検索、ユーザーのポイントへの追加です。

4

1 に答える 1