0

PHP mysql でユーザー コメント システムを開発しています。実際、私の最初の好みは、user_id(Primary Key) を使用してデータをフェッチして mysql に挿入することですが、いくつかの場所では、user_name(Unique Index) を使用して mysql からデータを取得し、更新または挿入する必要があります。

最も効率的な方法はどれですか?一部の場所で user_name を使用する必要がある場合、効率に影響しますか?

4

3 に答える 3

1

user_id と user_name の両方にインデックスがあるため、一般的に言えば両方とも高速になります (これらのフィールドの両方で使用される型の詳細を指定していないため)、インデックスのサイズが論理的に小さくなるため、user_id の方が高速になります。 user_name フィールドよりも - しかし、あなたは小さな違いを話している.

user_name が実際にはログイン名であり、本名ではないことを面白いと思いますか?実在の人物の名前に一意のインデックスを付けると、衝突の可能性が高いため問題が発生するためです。この場合、名前をハッシュして、それをインデックスとして使用することを考えましたか?

于 2013-03-11T10:17:00.003 に答える
0

私たちの生産システムで非常に奇妙なことに気づきました。重要なリンクテーブルの一意キーが主キーに置き換えられ、パフォーマンスが劇的に向上しました。

参照 :

ここに。

于 2013-03-11T10:24:37.260 に答える
0

user_idではなく主キーとして使用する必要がありますが、user_nameに基づいてデータを挿入またはフェッチしようとするときはいつでも、 where 句でuser_name使用する必要があります。user_iduser_iduser_name

于 2013-03-11T10:16:46.547 に答える