Является ли индекс с несколькими полями в MySQL хорошим выбором?

У меня огромный набор данных. Структура выглядит примерно так:

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 миллион строк в таблице, использующей эту структуру. Если я импортирую новую запись, я должен решить, есть ли она уже в базе данных. Если это так, то мне нужно обновить ее, если нет, то я нужно вставить новую строку.

Для этого мне нужно поместить индекс с несколькими полями в первые 4 столбца, что, я боюсь, не лучшее решение. Есть ли лучшая структура базы данных для хранения и искать в этих данных, или мне придется жить с четырехпольным индексом?

Я использую MySQL

6
задан Bohemian 5 August 2011 в 13:54
поделиться