再構築しようとしているメンバーシップデータベースがあります。すべてのメンバーには、メインメンバーテーブルに1つの行があります。そこから、JOINを使用して他のテーブルの情報を参照します。私の質問は、次のパフォーマンスにとって何が良いかということです。
データ型とデータを指定する1つのデータテーブル。例:
data_id | member_id | data_type | データ
1| 1 | メール| test@domain.com
2 | 1 | 電話| 1234567890
3 | 2 | メール| test@domain2.com
または
すべての電子メールアドレスのテーブルを作成し、次にすべての電話番号のテーブルなどを作成してから、複数の結合を持つselectステートメントを使用する方がよいでしょうか。
このデータベースはメンバーテーブルの75000行以上で始まり、実際には電話、電子メール、ファックス、姓名、会社名、住所、市の州の郵便番号が含まれることに注意してください(つまり、各メンバーには少なくとも1つの行があります)それらのうち、複数(通常はメンバーごとに1〜3)にすることができるため、75000を超える電話番号、電子メールアドレスなど)
したがって、基本的に、750,000行を超える1つのテーブルを結合するか、75,000行を超える7〜10のテーブルを結合します。
編集:このデータベースのパフォーマンスは、データベース内の既存のデータと一致させる必要がある販売データを挿入するときに問題になるため、1万行の販売および連絡先データのCSVファイルを取得し、データベースにクエリを実行してどのメンバーを見つけようとしますCSVのどの販売行に属性がありますか?そうそう、これはローカルマシンではなく、Webサーバー上で行われます(私の選択ではありません)