ホームページ > データベース > mysql チュートリアル > MySQL テーブル作成における INDEX と KEY の違いは何ですか?

MySQL テーブル作成における INDEX と KEY の違いは何ですか?

DDD
リリース: 2024-11-26 05:03:10
オリジナル
202 人が閲覧しました

What's the Difference Between INDEX and KEY in MySQL Table Creation?

MySQL における INDEX と KEY の等価性を理解する

MySQL でテーブルを作成するとき、データのインデックス付けについて、INDEX と KEY という 2 つの用語が登場することがあります。これらの用語は両方とも同じ目的を果たしますが、使用法には微妙な違いがあります。

INDEX と KEY の定義

  • INDEX: クエリを高速化し、データ取得を改善するために使用される非一意のインデックス効率。
  • KEY: INDEX の同義語。これは、他のデータベース システムとの互換性のために MySQL に導入されました。

Create Table ステートメントでの使用

Create Table ステートメントでは、INDEX または KEY を同じ意味で使用できます。 。たとえば、次の 2 つのステートメントは同等です:

CREATE TABLE tasks (
    task_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    parent_id INT UNSIGNED NOT NULL DEFAULT 0,
    task VARCHAR(100) NOT NULL,
    PRIMARY KEY (task_id),
    INDEX parent (parent_id)
);

CREATE TABLE orders (
    order_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    KEY order_date (order_date)
);
ログイン後にコピー

一意なインデックスと非一意なインデックス

INDEX と KEY はどちらも一意でないインデックスを作成できますが、 PRIMARY KEY は定義上一意であることに注意することが重要です。これは、PRIMARY KEY 列の値がテーブル内の各行を一意に識別することを意味します。一方、INDEX と KEY は重複する値を許可します。

KEY としての主キー

MySQL では、KEY キーワードを使用して PRIMARY KEY を定義できます。ただし、混乱を避けるために、PRIMARY KEY キーワードを明示的に使用することをお勧めします。例:

CREATE TABLE customers (
    customer_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    PRIMARY KEY (customer_id)
);
ログイン後にコピー

推奨事項

MySQL では KEY と INDEX は同義ですが、ISO SQL 標準に準拠し、パフォーマンスが向上するため、一般に INDEX を使用することをお勧めします。携帯性。

以上がMySQL テーブル作成における INDEX と KEY の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート