ホームページ  >  記事  >  データベース  >  mysql はどのフィールドにインデックスを付ける必要がありますか?

mysql はどのフィールドにインデックスを付ける必要がありますか?

清浅
清浅オリジナル
2019-05-08 11:29:0110134ブラウズ

mysql でインデックスを作成する必要があるフィールド: 1. Where 句によく現れるフィールド、特に大きなテーブルのフィールドにはインデックスを作成する必要があります; 2. 他のテーブルに頻繁に接続されるテーブルにはインデックスを作成する必要があります。接続フィールド インデックスはフィールドに作成する必要があります; 3. インデックスはグループ化フィールドまたは並べ替えフィールドに作成する必要があります; 4. インデックスは選択性の高いフィールドに作成する必要があります。

mysql はどのフィールドにインデックスを付ける必要がありますか?

#1. テーブル内の特定のフィールドの分散値が高いほど、そのフィールドはインデックスのキーワードとして選択されるのに適しています。主キー フィールドと一意制約フィールドは、これらのフィールドの値が非常に離散的であるため、インデックス キーとしての選択に適しています。 MySQL は、主キー制約と一意制約を処理する際に考慮されています。データベース ユーザーが主キー制約を作成すると、MySQL は自動的にプライマリ インデックス (プライマリ インデックス) を作成し、インデックス名は Primary になります。データベース ユーザーが一意のインデックスを作成すると、MySQL は自動的に一意のインデックス (一意のインデックス) を作成します。デフォルトでは、 、インデックス名は一意のインデックスのフィールド名です。

2. 使用する記憶域スペースが少ないフィールドは、インデックスのキーワードとして選択するのに適しています。たとえば、整数フィールドは文字列よりも占有する記憶領域が少ないため、インデックス キーとしてより適しています。

3. 固定記憶域を持つフィールドは、インデックス作成のキーワードとして選択するのに適しています。テキスト型フィールドと比較して、文字型フィールドはインデックスキーとして選択するのに適しています。

4. Where 句で頻繁に使用するフィールドに対してインデックスを作成する必要があり、フィールドのグループ化または並べ替えに対してインデックスを作成する必要があり、2 つのテーブルの結合フィールドに対してインデックスを作成する必要があります。

5. 頻繁に更新されるフィールドはインデックスの作成には適しておらず、where 句に現れないフィールドにはインデックスを作成しないでください。

6. 他のテーブルに頻繁に接続されるテーブルには、接続フィールドにインデックスが必要です;

7. インデックスは選択性の高いフィールドに構築される必要があります;

8. インデックス小さなフィールドにインデックスを構築する必要があります。大きなテキスト フィールドや長いフィールドにもインデックスを構築しないでください。

以上がmysql はどのフィールドにインデックスを付ける必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。