ホームページ >データベース >mysql チュートリアル >mysql の主キーにはインデックスを付ける必要がありますか?

mysql の主キーにはインデックスを付ける必要がありますか?

青灯夜游
青灯夜游オリジナル
2020-10-09 14:36:4910042ブラウズ

Mysql の主キーにはインデックスを作成する必要はありません。主キーにはインデックスの機能があります。主キーを作成または設定すると、mysql は主キーに対応する一意のインデックスを自動的に追加し、追加の追加はありません。が必要です。データベース管理システムは主キーに対して一意のインデックスを自動的に生成するため、主キーは特別なインデックスになります。

mysql の主キーにはインデックスを付ける必要がありますか?

主キーを作成または設定すると、mysql は主キーに対応する一意のインデックスを自動的に追加するため、追加の追加は必要ありません。

主キーがクエリ条件で使用されていない場合は、クエリ フィールドをインデックスとして設定できます。主キーにインデックスを設定する場合、主キーはインデックスの機能を持ちます。

以下に示すように、mysql で作成したテーブルでは、CREATE TABLE ステートメントで主キー PRIMARY KEY のみが設定されており、インデックスを作成するステートメントはなく、一意の主キー インデックスが設定されていることがわかります。インデックス情報に が表示されますが、これはmysql自身が作成したものです。

mysql の主キーにはインデックスを付ける必要がありますか?

データベースの主キーとインデックスの違いと関係

1. 主キーは一意のインデックスである必要がありますが、一意のインデックスは主キーではありません。

主キーは、テーブル内の行を一意に識別できる属性または属性グループです。テーブルには主キーを 1 つだけ持つことができますが、複数の候補インデックスを持つことができます。主キーはレコードの行を一意に識別できるため、データの更新および削除時にエラーが発生しないことを保証できます。主キーは多くの場合、データの不整合を防ぐために外部キーと参照整合性制約を形成します。データベース管理システムは主キーに対して一意のインデックスを自動的に生成するため、主キーも特別なインデックスになります。

2. 一意のインデックスは、インデックス値が一意であることを示します。テーブルには複数の一意のインデックスを持つことができますが、存在できる主キーは 1 つだけです。

3. 主キー列を空にすることはできませんが、一意のインデックス列を空にすることはできます。

4. テーブルには主キーを 1 つだけ持つことができますが、複数のインデックスを持つことができます。

たとえば、主キーは本のページ番号に相当し、インデックスは本の目次に相当します。

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

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