過去の行動のさまざまな側面を要約した多数の記述属性とともに、一連の顧客で構成されるデータセットにデータ マイニング アルゴリズムのグループを適用しています。10,000 を超える属性があり、それぞれが顧客 ID を主キーとするテーブルの列として格納されています。いくつかの理由から、これらの属性をその場で計算するのではなく、事前に計算する必要があります。私は通常、指定された属性セットを持つ顧客を選択しようとします。アルゴリズムは、任意の数のこれらの属性を 1 つの SELECT ステートメントで組み合わせて、必要なテーブルを結合できます。すべてのテーブルの行数は同じです (顧客ごとに 1 つ)。
これらの属性のテーブルを構成する最良の方法は何だろうと思っています。属性を 20 ~ 30 列のテーブルにグループ化して、平均してより多くの結合を必要とするが SELECT ごとの列数を少なくするか、結合の数を最小限に抑えるために最大列数のテーブルを用意するが、10K 列すべてを結合する可能性がある一度?
また、巨大な 3 列の customerID-attribute-value テーブルを 1 つ使用して、そこにすべての情報を格納することも考えましたが、「必要なこれらの属性タイプのクエリですべての顧客を選択する」ように構成するのは難しいでしょう。
私は MySQL 5.0 以降を使用していますが、これは一般的な SQL っぽい質問だと思います。