私のテーブルには一意のフィールドが1つあります。そのフィールドをすばやく検索する必要があります。インデックスを作成する必要がありますか?Mysql:一意のフィールドはインデックスである必要がありますか?
一意のフィールドとインデックスフィールドの検索は、速度やリソースの使用状況によって異なりますか?
私のテーブルには一意のフィールドが1つあります。そのフィールドをすばやく検索する必要があります。インデックスを作成する必要がありますか?Mysql:一意のフィールドはインデックスである必要がありますか?
一意のフィールドとインデックスフィールドの検索は、速度やリソースの使用状況によって異なりますか?
ですいいえ、もう一度インデックスを作成する必要はありません。 UNIQUE KEY
を指定すると、列のインデックスが作成されます。したがって、同じタイプのの他のインデックス付き列(例:PRIMARY KEY)とのパフォーマンスの差はありません。
ただし、タイプが異なる場合は、パフォーマンスの差はほとんどありません。
ok many tks:D。ユニークキーと検索時のインデックス付きキーの間のパフォーマンスの違いは何ですか? – TomSawyer
@Tom両方のインデックスが付いていても違いはありません。私の答えをもう一度読んでください。 –
すべてUNIQUE
フィールドは、定義により、UNIQUE INDEX
で索引付けされています。これは、検索可能なアクセス・パスの中で最も高速です。
フィールドがUNIQUEである必要がある場合は、PRIMARY KEY
またはUNIQUE INDEX
のいずれかにする必要があります。
UNIQUE INDEX
とINDEX
の間のパフォーマンスは、どちらも同じアルゴリズム、つまりハッシングまたはb-treeを使用するので、選択するときに違いはありません。このようなBツリーなどのアルゴリズムがより効率的に要求された行(複数可)を取得することができますようUNIQUE
指標、特に数値すなわちINT
1で、それは重複が含まれているインデックスより高速になりますちょうどこと
read:http://explainextended.com/2009/04/23/making-an-index-unique/ – diEcho