1

私は非常にシンプルな Web サイトを作成しています。ここにアクセスしてワークアウトを登録し、他の人がそれを見てコメントできるようにします。

問題は、たとえば、週に 6 日トレーニングし、10 のエクササイズを行う場合、Mysql に 60 のエクササイズを保存する必要があることです。

60 行のテーブルを作成して、そこにすべての情報を格納することを考えていましたが、何らかの理由で、これは最善の方法ではないようです。

それで、私は何をすべきですか?私はスタックオーバーフローでここを見ていました.配列を使用してこれを保存し、PHPを使用してシリアル化することについて何かを見ましたが、それについてはよくわかりません.

4

3 に答える 3

4

この種の問題について心配する前に、データベースとは何かを検討する必要があります。mysql が数百万のエントリを処理することは一般的です。通常のシナリオでこれを超えることはまずありません。多くのトラフィックを獲得し、データベースが拡張とアップグレードが意味のあるところまで成長した場合は、相談するでしょう。今のところ、mysql があなたのチャンピオンになるでしょう。

シリアル化には用途がありますが、結果を個別に調べたい場合は、リレーショナル デザインを使用することをお勧めします。こうすることで、特定のワークアウト セッションに関するすべての情報を保存し、ユーザーにより良い統計を提供できます。結局のところ、統計は中毒性があります。このサイトの多くのユーザーは、統計を作成するために戻ってきます。

私があなたの質問を読んだ方法は、60 のワークアウトを個別に保存することは大量のデータであると考えていたということでした。多くのフィールドを持つフォームがあり、これらのフィールドをデータベースに適切な方法で格納する方法を知りたい場合。あなただけでなく、来て登録する人のために。とはいえ、これはどのデータベースにとっても比較的小さなタスクです。リレーショナル デザインは、間違いなくどちらの方法でも使用できます。

于 2012-12-13T01:15:25.413 に答える
2

どのように保存するかではなく、最初に何を保存するかを論理的に決定する必要があります。

何を保存するかがわかったら、データを正規化して冗長データを削除する必要があります。これは通常、データを3nfに変換することによって行われます。http://en.m.wikipedia.org/wiki/Database_normalizationを参照して ください

そうすれば、必要なすべてのデータを確実にキャプチャできます。

于 2012-12-13T01:27:55.547 に答える
1

データを「保存」しているので、どのような場合でもデータベースを使用することをお勧めします。配列のシリアル化は実際にはデータを保存するのではなく、後で使用するためにプロセスの一部を保存するというものです。

データベースを使用すると、さらに多くのことができるようになります。現時点では夢中にならないかもしれませんが、収集したデータを使用する新しい計画がいつかある場合は、拡張するためのスペースが増えます。

于 2012-12-13T01:28:39.777 に答える