0

わかりました。DTH管理システムでプロジェクトを作成しています。MySQLDBとJavaGUIを使用しています。問題は、ユーザーを追加するたびに、値を追加するためにテーブルのセット(たとえば、30日、1日につき1つのテーブル)を挿入する必要があるようにDBを作成する必要があることです。この新しいテーブルは、すべてのユーザーに対して同じ形式になります。唯一のことは、列の値が変更されることです。これは、上部の水平方向の行がタイミング用で、左側の垂直方向の行がチャネル名用であり、ユーザーが午後9時にチャネル9で番組を視聴している場合、セル(channel9、9)の値は1、それ以外の場合は0であるマトリックスのようなものです。毎日行う必要があります。

私の質問は簡単です。どうやってこれを行うのですか!次に、システムの負荷はどうなりますか。GUIの場合と同様に、データにアクセスするためにクラッシュしたり、膨大な時間を費やしたりしてはなりません。

これをより簡単かつ効率的に行う他の方法はありますか?

助けてください。:)

4

1 に答える 1

2

テーブルを動的に作成しない理由:

  1. 孤立したテーブルになってしまいます。たとえば、ユーザーがサインアップしてから自分のアカウントを削除したとします。彼のすべてのテーブルをどうしますか?

  2. スキーマが変更されます。テーブルのデザインは今は良いですが、後で変更したくなることを保証します。10,000個のテーブルを自動的に更新するにはどうすればよいですか?(スクリプトを作成することは可能ですが、不快です。)

  3. すべてに限界があります。MySQLのテーブル制限が何であるかはわかりませんが、まともなアクティビティで、あなたはそれに達すると思います。

  4. リファクタリングするのは非常に難しいでしょう。1-3をヒットし、それが悪い考えであると判断した場合、変更にはかなりの時間がかかります。

MySQLにあるものを保存する方法が絶対にわからない場合は、最後の手段として、オブジェクトを常にJSONのようなものにシリアル化し、その結果をフィールドに入れることができます。非常に迅速かつ簡単に実行でき、100万のテーブルを必要としません。

于 2013-01-27T16:43:08.727 に答える