私は巨大なデータセットを持っています。構造は次のようになります。
K_Field1, K_Field2, K_Field3, K_Field4, D_Field5, D_Field6, D_Field7, D_field8
問題は、最初の4つのフィールド(K_Field1,K_Field2,K_Field3,K_Field4
)一緒に一意に行を識別します。これらのフィールドをフィールドとして使用して1つのテーブルを作成しました。
テーブルに100万行ありますその構造を使用します。新しいレコードをインポートする場合は、データベースに既に存在するかどうかを判断する必要があります。存在する場合は更新しなければならない場合は、新しい行を挿入する必要があります。
これを行うには、私は複数のフィールドインデックスを配置する必要があります最初の4つの列には - 私は恐怖です - 最高の解決策ではありません。そのデータを格納および検索するためのより良いデータベース構造がありますか、または4フィールドインデックスで暮らす必要がありますか?
私はMySQLを使用しています
回答:
回答№1は5最初の4つの列にインデックスを作成することには何も問題はありません。
create unique index mytable_key on mytable(K_Field1,K_Field2,K_Field3,K_Field4);
それがあなたの状況の現実だからです。
それはまた、 "正しい"解決策です。