PHP mysql でユーザー コメント システムを開発しています。実際、私の最初の好みは、user_id(Primary Key) を使用してデータをフェッチして mysql に挿入することですが、いくつかの場所では、user_name(Unique Index) を使用して mysql からデータを取得し、更新または挿入する必要があります。
最も効率的な方法はどれですか?一部の場所で user_name を使用する必要がある場合、効率に影響しますか?
PHP mysql でユーザー コメント システムを開発しています。実際、私の最初の好みは、user_id(Primary Key) を使用してデータをフェッチして mysql に挿入することですが、いくつかの場所では、user_name(Unique Index) を使用して mysql からデータを取得し、更新または挿入する必要があります。
最も効率的な方法はどれですか?一部の場所で user_name を使用する必要がある場合、効率に影響しますか?
user_id と user_name の両方にインデックスがあるため、一般的に言えば両方とも高速になります (これらのフィールドの両方で使用される型の詳細を指定していないため)、インデックスのサイズが論理的に小さくなるため、user_id の方が高速になります。 user_name フィールドよりも - しかし、あなたは小さな違いを話している.
user_name が実際にはログイン名であり、本名ではないことを面白いと思いますか?実在の人物の名前に一意のインデックスを付けると、衝突の可能性が高いため問題が発生するためです。この場合、名前をハッシュして、それをインデックスとして使用することを考えましたか?
user_id
ではなく主キーとして使用する必要がありますが、user_name
に基づいてデータを挿入またはフェッチしようとするときはいつでも、 where 句でuser_name
使用する必要があります。user_id
user_id
user_name