PRIMARY KEY
- это UNIQUE
ключ - INDEX
.Таким образом, избыточно переиндексировать PK.
Если у пользователя может быть несколько электронных писем, тогда эта таблица представляет собой сопоставление «многие ко многим» между пользователями и электронными письмами, и вам необходимо
CREATE TABLE users_emails (
user_id ...,
email ...,
PRIMARY KEY(user_id, email),
INDEX(email, user_id) -- in case you need to look up a user given an email
);
Это действительно общий случай - у пользователя может быть рабочий и личный адрес электронной почты.И / или муж и жена могут поделиться одним электронным письмом.
Но ... Если ваше приложение запрашивает у пользователя электронное письмо, оно выдаст вам один электронное письмо, и вы выиграли 'не нужно знать о других?В этом случае просто включите email
в таблицу Users
и не используйте таблицу сопоставления many: many или таблицу Emails
.