Что должно быть Я индексирую? Имена пользователей или идентификаторы пользователей?

У меня довольно простая таблица (простите ошибки / глупости, пока учусь. Написано для MySQL) :

CREATE TABLE IF NOT EXISTS  `userdata` (
    `userid`    UNSIGNED int(18446744073709551615) AUTO_INCREMENT, 
    `username`  char(255) NOT NULL,
    `password`  char(255) NOT NULL,
    `salt`      char(255) NOT NULL,
    `email`     char(255) NOT NULL,

    PRIMARY KEY(`userid`)
);

Я читал, что добавление индекса улучшает производительность запроса, так как не нужно просматривать всю базу данных. Вместо этого он просматривает индекс и сопоставляет данные (поправьте меня, если я ошибаюсь).

Я достаточно хорошо понял, как создать индекс, но не то, что мне следует индексировать.
Должен ли я иметь свой индекс по именам пользователей? Адреса электронной почты, идентификатор пользователя или какое-то поле, которое я еще не добавил?

5
задан Brian Tompsett - 汤莱恩 28 July 2017 в 17:34
поделиться