Maison >base de données >tutoriel mysql >INDEX vs KEY dans MySQL : quelle est la différence et lequel dois-je utiliser ?

INDEX vs KEY dans MySQL : quelle est la différence et lequel dois-je utiliser ?

DDD
DDDoriginal
2024-11-24 00:52:13242parcourir

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

Utilisation d'INDEX vs KEY dans MySQL

Introduction

MySQL fournit deux syntaxes pour créer des index sur les tables : INDEX et KEY. Bien que les deux atteignent la même fonctionnalité, il existe des différences subtiles entre eux.

Synonymes et extensions

La principale différence entre INDEX et KEY réside dans leur nature. INDEX est considéré comme le terme conforme à ISO SQL, tandis que KEY est une extension spécifique à MySQL. Cela signifie que l'utilisation d'INDEX garantit la portabilité entre différents systèmes de bases de données, tandis que KEY est limité à MySQL.

Utilisation

Cependant, dans la pratique, l'utilisation d'INDEX et de KEY est interchangeable. Ils créent tous deux des index sur les colonnes pour améliorer les performances des requêtes en fournissant des recherches rapides. La syntaxe de leur utilisation est identique, comme le montre l'exemple suivant :

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)
)

Considération sur la clé primaire

Alors qu'INDEX et KEY peuvent être utilisés de manière interchangeable pour créer des index , il existe une exception lorsqu'il s'agit de clés primaires. Le mot-clé PRIMARY KEY peut être abrégé en KEY dans les définitions de colonnes pour des raisons de compatibilité avec d'autres systèmes de bases de données. Par exemple :

CREATE TABLE orders (
    order_id int PRIMARY KEY,
    order_date timestamp
);

Dans ce cas, KEY est synonyme de PRIMARY KEY et crée un index unique sur la colonne order_id, qui identifie de manière unique chaque ligne de la table.

Conclusion

En résumé, bien que INDEX et KEY servent le même objectif, INDEX est préféré en raison de son ISO SQL conformité. Cependant, dans la plupart des scénarios pratiques, le choix entre eux est une question de préférence personnelle ou de respect de normes spécifiques. Comprendre la différence entre leur utilisation et le contexte dans lequel ils sont utilisés vous aidera à optimiser efficacement les performances des bases de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn