Je sais comment utiliser INDEX comme dans le code suivant. Et je sais comment utiliser la clé étrangère et la clé primaire .
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,
PRIMARY KEY (task_id),
INDEX parent (parent_id),
....
Cependant, j'ai trouvé un code utilisant KEY au lieu d'INDEX comme suit.
...
KEY order_date (order_date)
...
Je n'ai trouvé aucune explication sur la page officielle MySQL. Quelqu'un pourrait-il me dire quelles sont les différences entre KEY et INDEX?
La seule différence que je vois est que lorsque j'utilise KEY ...
, je dois répéter le mot, par exemple
KEY order_date (order_date)
.
KEY keyname (column_name)
quand j'ai créé la table avecINDEX keyname (column_name)
. Le fait que ce soit un synonyme l'explique parfaitement.PRIMARY KEY
peut également être spécifié comme justeKEY
lorsqu'il est donné dans une définition de colonne." Qu'est-ce que ça veut dire?Voici une belle description de la "différence":
la source
Il est mentionné comme synonyme de
INDEX
dans la documentation 'create table': MySQL 5.5 Reference Manual :: 13 SQL Statement Syntax :: 13.1 Data Definition Statements :: 13.1.17 CREATE TABLE SyntaxNos a déjà cité la section et lié l'aide de 5.1.
Like
PRIMARY KEY
crée une clé primaire et un index pour vous,KEY
crée uniquement un index.la source
Les clés sont des champs spéciaux qui jouent des rôles très spécifiques dans une table et le type de clé détermine son objectif dans la table.
Un index est une structure que le SGBDR (système de gestion de base de données) fournit pour améliorer le traitement des données. Un index n'a rien à voir avec une structure de base de données logique.
DONC...
Les clés sont des structures logiques que vous utilisez pour identifier les enregistrements dans une table et les index sont des structures physiques que vous utilisez pour optimiser le traitement des données.
Source: Conception de base de données pour les simples mortels
Auteur: Michael Hernandez
la source
Une clé est un ensemble de colonnes ou d'expressions sur lesquelles nous construisons un index.
Alors qu'un index est une structure stockée dans une base de données, les clés sont strictement un concept logique.
L'index nous aide à accéder rapidement à un enregistrement, tandis que les clés identifient simplement les enregistrements de manière unique.
Chaque table aura nécessairement une clé, mais avoir un index n'est pas obligatoire.
Vérifiez sur https://docs.oracle.com/cd/E11882_01/server.112/e40540/indexiot.htm#CNCPT721
la source