Предположим, что у продукта может быть до пяти (5) жалоб. В этом случае есть таблица с пятью (5) столбцами. Эти пять столбцов непосредственно задействованы в другой таблице, где в отчетах указаны коды претензий.
См .: http://img263.imageshack.us/img263/4990/01mysql.jpg
С этого момента я должен установить связь между двумя таблицами. Итак, что из следующего является более правильным для создания индексов:
а) создание индекса один за другим?
ALTER TABLE `complaint` ADD INDEX (`code_01`)
ALTER TABLE `complaint` ADD INDEX (`code_02`)
ALTER TABLE `complaint` ADD INDEX (`code_03`)
ALTER TABLE `complaint` ADD INDEX (`code_04`)
ALTER TABLE `complaint` ADD INDEX (`code_05`)
б) Что все поля в одном индексе?
ALTER TABLE `complaint` ADD INDEX (`code_01`,
`code_02`,
`code_03`,
`code_04`,
`code_05`)
Я считаю, что лучшим вариантом является а), потому что, если я выберу опцию b) и при доступе к «представлению отношений» в phpMyAdmin, это показывает, что есть другие поля, в которых говорится, что «индекс не определен!» в столбцах code_02, code_03 и code_04 code_05.
ВНИМАНИЕ - ДЛЯ ВСТАВКИ И ОБНОВЛЕНИЯ:
Если я использую опцию b) и введу код в записи со столбцами code_02, code_03 и code_04 code_05, MySQL не сообщит о каких-либо ошибках, что введенный код не существует. Возвращает только сообщение об успехе, которое действительно должно быть неверным. Так что в данном конкретном случае я должен использовать опцию а), верно?