Индексация таблиц MySQL - PullRequest
       6

Индексация таблиц MySQL

1 голос
/ 17 января 2012

У меня есть mysql tabel под названием «пользователи».Есть два очевидных поля: 'user' и 'pass'.

Мой запрос аутентификации выглядит так:

"SELECT pass FROM users WHERE user = ? AND pass = ?"

Я бы подумал, что индексация может ускорить запрос.Должен ли я индексировать только поле 'user' или также поле 'pass'?

Также сравнивает пароли с SQL-запросом быстрее, чем при сравнении строк PHP.

1 Ответ

5 голосов
/ 17 января 2012

Прежде всего, вы не должны хранить пароли в виде простого текста. Вместо этого сохраняйте хеши паролей.

Во-вторых, поможет индекс на user или pass. Но если вы создадите составной индекс для (user, pass), он станет покрывающим индексом для этого запроса. Это означает, что запрос можно обслуживать непосредственно из индекса, не обращаясь к файлам данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...