0

MYSQL がリレーショナル データベースであることは誰もが知っています。これから作成するアプリケーションでは、主にエンティティ間で情報を共有し、テーブルを結合するために、リレーショナル データベースを使用する必要があります。

しかし、私には非常に特別な条件もあります。アプリケーションで発生するいくつかのイベントを追跡する必要があります。たとえば、'XP' という名前のフィールドを持つ 'User' テーブルがあり、このユーザーの 'XP' が変更されたすべてのイベントを保持したいとします。

最も単純な解決策は、新しいテーブルを作成し、責任のあるユーザーを指すフィールドを使用してイベントを格納することです。しかし、このテーブルは圧倒的に大きくなり、不必要な行でいっぱいになり、アプリケーション全体が遅くなります。

ドキュメント指向のデータベースを使用していた場合、これはもちろん問題ではありませんでしたが、MYSQL ではすべてが遅くなる傾向があります。

問題を解決し、パフォーマンスを妥当な範囲に維持するための可能な方法について、ここであなたの意見を知りたいです。ネットで関連する研究や記事は見つかりませんでした。

PS、変更を JSON 配列としてフィールド (「ユーザー」テーブル) に保存するという考えがありましたが、フィールドを読み取り、テキストから変換し、項目を追加して再度保存することは非常に非現実的です。

ありがとう

4

1 に答える 1