ホームページ > データベース > mysql チュートリアル > MySQL の INDEX と KEY: 違いは何ですか? どちらを使用する必要がありますか?

MySQL の INDEX と KEY: 違いは何ですか? どちらを使用する必要がありますか?

DDD
リリース: 2024-11-24 00:52:13
オリジナル
211 人が閲覧しました

INDEX vs. KEY in MySQL: What's the Difference and Which Should I Use?

MySQL での INDEX と KEY の使用

はじめに

MySQL には、インデックスを作成するための 2 つの構文が用意されていますテーブルの場合: INDEX と KEY。どちらも同じ機能を実現しますが、微妙な違いがあります。

同義語と拡張子

INDEX と KEY の主な違いは、その性質にあります。 INDEX は ISO SQL 準拠の用語とみなされますが、KEY は MySQL 固有の拡張子です。これは、INDEX を使用すると、さまざまなデータベース システム間での移植性が確保される一方、KEY は MySQL に限定されることを意味します。

使用法

ただし、実際には、INDEX と KEY の使用法は次のとおりです。交換可能。どちらも列にインデックスを作成し、高速な検索を提供することでクエリのパフォーマンスを向上させます。次の例に示すように、それらの使用構文は同一です:

CREATE TABLE tasks (
    task_id        int unsigned NOT NULL AUTO_INCREMENT,
    parent_id      int unsigned NOT NULL DEFAULT 0,
    task           varchar(100) NOT NULL,
    date_added     timestamp    NOT NULL,
    date_completed timestamp        NULL,

    PRIMARY KEY (task_id),
    KEY parent (parent_id)  -- or INDEX parent (parent_id)
)
ログイン後にコピー

主キーの考慮事項

一方、INDEX と KEY はインデックスの作成に同じ意味で使用できます。 、主キーを扱う場合には例外があります。他のデータベース システムとの互換性を確保するために、列定義では PRIMARY KEY キーワードを KEY と省略することができます。例:

CREATE TABLE orders (
    order_id int PRIMARY KEY,
    order_date timestamp
);
ログイン後にコピー

この場合、KEY は PRIMARY KEY の同義語で、テーブル内の各行を一意に識別する一意のインデックスを order_id 列に作成します。

結論

要約すると、INDEX と KEY はどちらも同じ目的を果たしますが、INDEX はISO SQL に準拠しているため、推奨されます。ただし、ほとんどの実際的なシナリオでは、どちらを選択するかは個人的な好みか、特定の基準への準拠によって決まります。それらの使用法とそれらが使用されるコンテキストの違いを理解することは、データベースのパフォーマンスを効果的に最適化するのに役立ちます。

以上がMySQL の INDEX と KEY: 違いは何ですか? どちらを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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