optimize multiple length index example constraint mysql indexing key

multiple - optimize mysql index



¿Cuáles son las diferencias entre Index vs Key en MySQL? (5)

Aquí hay una buena descripción de la "diferencia":
http://discuss.fogcreek.com/joelonsoftware5/default.asp?cmd=show&ixPost=152398

"MySQL requiere que cada clave también se indexe, es un detalle de implementación específico de MySQL para mejorar el rendimiento".

Sé cómo usar INDEX como en el siguiente código. Y sé cómo usar la clave externa y la clave principal.

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

Sin embargo, encontré un código usando KEY en lugar de INDEX como sigue.

... KEY order_date (order_date) ...

No puedo encontrar ningún documento en la página oficial de MySQL.

¿Alguien podría decirme cuáles son las diferencias entre KEY e INDEX? Lo que puedo ver la diferencia es que cuando uso KEY ..., necesito repetir la palabra, por ej. KEY order_date (order_date).


Las claves son campos especiales que desempeñan roles muy específicos dentro de una tabla, y el tipo de clave determina su propósito dentro de la tabla.

Un índice es una estructura que proporciona RDBMS (sistema de gestión de bases de datos) para mejorar el procesamiento de datos. Un índice no tiene nada que ver con una estructura de base de datos lógica.

ASI QUE...

Las claves son estructuras lógicas que utiliza para identificar registros dentro de una tabla y los índices son estructuras físicas que utiliza para optimizar el procesamiento de datos.

Fuente: Diseño de la base de datos para simples mortales

Autor: Michael Hernandez


No hay diferencia Son sinónimos.

Desde la entrada manual de CREATE TABLE :

KEY es normalmente un sinónimo de INDEX . El atributo clave PRIMARY KEY también se puede especificar como solo KEY cuando se proporciona en una definición de columna. Esto se implementó para compatibilidad con otros sistemas de bases de datos.



Una clave es un conjunto de columnas o expresiones sobre las que construimos un índice.

  1. Si bien un índice es una estructura que se almacena en la base de datos, las claves son estrictamente un concepto lógico.

  2. Index nos ayuda a acceder rápidamente a un registro, mientras que las claves solo identifican los registros de forma única.

  3. Cada tabla necesariamente tendrá una clave, pero tener un índice no es obligatorio.

Consulte en https://docs.oracle.com/cd/E11882_01/server.112/e40540/indexiot.htm#CNCPT721