Maison >base de données >tutoriel mysql >INDEX vs KEY dans MySQL : quelle est la différence et lequel dois-je utiliser ?
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!