2016-06-20 9 views
-1

私は約1,300人のユーザーの約250日間のスケジュールを格納するMySQLテーブルを持っています。ユーザー列、日付列、および場所列で構成されます。MySQLのスケジュールをより効果的に保存する方法は?

現在、約250日間が約1,300回繰り返されています。ユーザー列では、場所と日付が変わる毎日ユーザー名が250回繰り返されます。テーブル内のユーザー名を繰り返さずに毎日各ユーザーの場所を格納するより効果的な方法はありますか?この現在の方法は今でもうまく動作しますが

答えて

1

ユーザーは別のエンティティであり、独自のテーブルを持つ必要があります。このように、ユーザー名が変更された場合、ユーザーが参加しているすべてのイベントを編集する必要はありません。

各ユーザーの一意の識別子を作成し、イベントテーブルのユーザー名列をユーザーID列に置き換えて、ユーザーをイベントにリンクできます。

これは、リレーショナルデータベースの正規化の氷山の一角です。冗長または重複データの量を減らすことによって、データベースを確実に堅牢かつ柔軟にするための手法です。

+0

現在、ユーザー名では、固有の7桁のIDを意味します。私は、テーブルがそれ以上の縮みができるかどうか疑問に思っています。 – CurtisUpshall

+0

その時点で、メモリの使用量を減らすためにフィールドのデータ型を最適化しようとしています。それがあなたの質問であれば、新しい質問をするべきです。 –

関連する問題