2012-03-14 17 views
0

私のユーザテーブルを整理するために、私は2つの可能性を考えました。ちょうど4列(ID、名前、メール、パス)と「users_info有するコア「ユーザ」テーブルを有する全てのユーザ情報(約14 COLS)を含んで一つのメイン「ユーザ」テーブル PHP/MySQLユーザ管理良い事例

  • を有する

    1. '残りの情報を含むメインの'ユーザー 'テーブルを参照するテーブル。最良の進むべき道と、なぜだろう何

  • +0

    は、あなたが情報を区切るする必要が何らかの理由はありますか? –

    +0

    @Mr水曜日はい、私はこのテーブルが非常に頻繁に照会されるので、私はそれを最大限に軽くするかもしれないと思っていました。私は最初からこのプロジェクトを評価しています。なぜ-1? – silkAdmin

    +0

    -1は私のものではありませんでした。 –

    答えて

    1

    。パフォーマンスのために、BLOB /テキスト列を持つような不条理なことをしているのでなければ、最初のオプションを使いたいと思うかもしれません(それでも、それを分解する価値はないかもしれません)。ここで

    は、このテーマについての興味深い記事です: http://www.dba-oracle.com/t_table_normalization.htm

    +0

    ありがとうございました。 – silkAdmin

    +0

    面白い読んで私の問題に正確に答える、ありがとう! – silkAdmin

    0

    原因2とuser_infoテーブルで、user_id、info_name、info_value、user_id + info_nameの3つの列をプライマリキーとして持つことができます。その後、新しい情報を追加するのは非常に簡単です。また、すべてのユーザーに多数の空の列を保存する必要はありません。

    0

    アプリケーションによって異なります。それらを分離するとログインが少し速くなりますが、JOINが必要なため、完全なユーザー情報(プロファイルページなど)がずっと遅くなります。あなただけそうすることのために別々のテーブルを作成しないようにしようとする場合がほとんどの部分について

    関連する問題