Использование MySQL. У меня есть 2 основных стола детей и групп. Оба прямо вперед. Дети: идентификатор, имя, фамилия. Группы: идентификатор, имя. Ребенок может быть в 0 для многих групп. И группа может содержать от 0 до многих детей. Это обрабатывается в третьей таблице: дочерние группы. Я добавил внешние ключи к дочерним элементам и группам.
CREATE TABLE childgroups
(
childId INT,
groupId INT
);
ALTER TABLE childgroups
ADD FOREIGN KEY (fk_child) REFERENCES children(id);
ALTER TABLE childgroups
ADD FOREIGN KEY (fk_group) REFERENCES groups(id);
Поскольку внешний ключ не индексируется автоматически, я хочу создать индексы для таблицы дочерних групп.
Я буду использоватьНапример, в этой таблице:
SELECT childId
FROM childgroups
WHERE groupId = 123;
SELECT groupId
FROM childgroups
WHERE childId = 1366;
SELECT children.firstname, children.lastname
FROM children, childgroups, groups
WHERE groups.name = "Lions";
Достаточно ли просто определить индекс для childId и / или groupId?
Или я также могу указать комбинированный индекс, например:
CREATE INDEX childgroups_index ON childgroups (childid);
CREATE INDEX childgroups_index ON childgroups (groupid);
CREATE INDEX childgroups_index ON childgroups (childid, grouppid);