最高のパフォーマンスを得るために、ユーザー テーブル (電子メールとパスワードによるログイン) の最適なテーブル構造とインデックスを知りたいです。ユーザー名を使用したくありません。ユーザーの電子メールを使用して、(パフォーマンスを向上させるために) 一意のインデックスでログインしたいと考えています。
おそらく最高のパフォーマンスは、メールとパスワードを合わせた一意のインデックスになるでしょう。
問題は、ログインを高速化するために、メールを一意としてインデックス化したいことです。ただし、この場合、悪意のあるユーザーは、別のユーザーが自分の電子メールを知って登録するのを防ぐことができます。
1 つの一意の列にある種の一意の電子メールとパスワードのハッシュを思いつくことができる唯一のアイデアです。しかし、私はそれがどのように最善を尽くしたかを知りたい.
ユーザー テーブル インデックス構造の一部 (DB は MySQL)
user_id - PRIMARY
email - UNIQUE
password
verified (after verify email)