MySQLトリガーまたはWebサイトでのトランザクションの使用について、ご意見をお聞かせください。
実際、私はpayment
-で履歴テーブルを持っていますUserId | OperationId | Comment | Credits | Sign (debit or credit)
。したがって、各支払い操作がこのテーブルに挿入されます。
ただし、ユーザーがアクションを実行するたびに、ユーザーの合計クレジット額を計算するのに時間がかかります。そのため、各ユーザーの合計クレジット額をユーザーprofile
テーブルに保持することをお勧めします。
ここに問題があります。profile
テーブルの合計クレジット額がpayment
履歴テーブルの操作と常に同期していることを確認するにはどうすればよいですか?
私は2つの方法を使用すると思いました:
- MySQLトリガーまたは
- ソースコードでコーディングされたトランザクション
どちらがより信頼できますか?大規模なデータベース(100.000ユーザー以上)がある場合はどうなりますか?
これを行うための提案はありますか?
BD MySQLエンジンはInnoDBです。