顧客調査アプリケーションに関連するデータを保存する必要があるデータベーステーブルのパフォーマンスに関心があります。
調査からの顧客の回答を格納するデータベーステーブルがあります。調査の質問は顧客iに応じて変わるため、各質問IDを列として使用してテーブルスキーマを定義する代わりに、次のように定義します。
customerdata(customerid varchar,
partkey varchar,
questionkey varchar,
value, varchar,
version, int,
lastupdate, timestamp)
どこ:
partkey:パーツのショートコードです(part1、part2 ...)
質問キー:年齢、性別などの質問のショートコードです
一部のお客様はアンケートに2回記入するため、3回など、バージョン列を追加しました。
この設計では、customerid、partkey、questionkey、およびversionが主キーです。
そのようなデザインでのパフォーマンスが気になります。他の主キーをインデックスとして定義する必要がありますか?それは役に立ちますか?これまでのところ、30人の顧客に対して7000件のレコードがあります。私は最大300-500を期待しています。どう思いますか ?