• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブル設計について)

テーブル設計について

このQ&Aのポイント
  • 会員制サイトのテーブル設計が適切か判断できず、助言を頂きたいです。
  • 会員情報テーブルと交流用テーブルの関連付けについて悩んでいます。
  • サーバの処理を軽くするために、2カラムのテーブルの使用を考えています。

質問者が選んだベストアンサー

  • ベストアンサー
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

テーブル結合の負荷は結合するテーブル間のカラム数の多少には関係ないです。 結合する項目が多い場合には影響しますが、参照しない項目の多い少ないは関係ないです。 ただ、あなたの場合、会員IDと名前だけの表を作るより、会員IDと名前で構成する複合キーを 索引として作成すれば検索は早くなる可能性があります。 会員IDで表を検索して、該当する名前をもう一度読むか、 会員IDと名前の索引を検索すればそこに名前がありますから検索すれば名前を読む必要がないのです。 が、索引は数が増えるほど更新や挿入が遅くなりますから注意が必要です。

pokapoka1980
質問者

お礼

>テーブル結合の負荷は結合するテーブル間のカラム数の多少には関係ないです 知りたい情報でした。 ありがとうございました。

その他の回答 (1)

  • hisappy
  • ベストアンサー率46% (184/392)
回答No.2

質問文の範囲からに対しての回答なので 実際のシステムで適応できかどうかは負荷次第ですが 交流用テーブルを使用する度に select 文を発行するのは 交流用テーブルの参照頻度によっては無駄に負荷がかかりそうですね。 「名前だけ」程度が頻繁なのなら、 交流用テーブルに名前カラムを追加してしまった方が where 句もなくなり select 文もスッキリして 憶測値三分の一の負荷減少が期待できそうです。 この辺りは人間の手順と似たような感覚で 「アッチとコッチでコレ持ってきて~~」よりも 「コレのコレ」ってなってたほうが簡単な認識でよいのでは? 名前カラムが無茶苦茶デカくて サーバの課金単位がデータの容量なら 不適合ですが。。。

pokapoka1980
質問者

お礼

>where 句もなくなり select 文もスッキリして >憶測値三分の一の負荷減少が期待できそうです。 とても魅力的なのですが、会員情報で名前を変更した際にややこしいことになりそうなので、 今回はパスします。 返信、大変参考になりました。 ありがとうございました。

関連するQ&A