unica son restricciones que primary primaria llave las indice index entre diferencia datos clave mysql indexing primary-key unique-key sqlperformance

son - Diferencia entre clave, clave principal, clave única e índice en MySQL



llave unica base de datos (8)

CLAVE e INDICE son sinónimos.

Debe agregar un índice cuando las mediciones de rendimiento y EXPLICAR le muestra que la consulta es ineficiente debido a que falta un índice. Agregar un índice puede mejorar el rendimiento de las consultas (pero puede ralentizar las modificaciones de la tabla).

Debería usar UNIQUE cuando quiera contrainizar los valores en esa columna (o columnas) para que sean únicos, de modo que los intentos de insertar valores duplicados resulten en un error.

Una CLAVE PRIMARIA es una restricción única y también implica que la columna NO es NULA. Se utiliza para dar una identidad a cada fila. Esto puede ser útil para unirse a otra tabla a través de una restricción de clave externa. Si bien no es necesario que una tabla tenga una CLAVE PRIMARIA, suele ser una buena idea.

¿Cuándo debo usar KEY , PRIMARY KEY , UNIQUE KEY e INDEX ?


Claves únicas: las columnas en las que no hay dos filas similares

Clave principal: recopilación de un número mínimo de columnas que pueden identificar de forma única todas las filas de una tabla (es decir, no hay dos filas similares en todas las columnas que constituyen la clave principal). Puede haber más de una clave principal en una tabla. Si existe una clave única, entonces es la clave principal (no "la" clave principal) en la tabla. Si no existe una clave única, se requerirán más de una columna de valores para identificar una fila como (first_name, last_name, father_name, mother_name) en algunas tablas puede constituir una clave principal.

Índice: utilizado para optimizar las consultas. Si va a buscar u ordenar los resultados en base a alguna columna muchas veces (por ejemplo, la mayoría de las personas buscarán a los estudiantes por nombre y no por su número de registro), entonces se puede optimizar si los valores de la columna son todos " indexado "por ejemplo con un algoritmo de árbol binario.


La clave principal no permite un valor nulo, pero la clave única permite un valor nulo.

Solo podemos declarar una clave principal en una tabla, pero una tabla puede tener varias claves únicas (asignación de columna).


La clave principal se utiliza para trabajar con diferentes tablas. Esta es la base de las bases de datos relacionales. Si tiene una base de datos de libros, es mejor crear 2 tablas: 1) libros y 2) autores con la clave primaria INT "id". Luego usas id en los libros en lugar del nombre de los autores.

La clave única se utiliza si no desea tener entradas repetidas. Por ejemplo, es posible que tenga un título en la tabla de su libro y desee asegurarse de que solo haya una entrada para cada título.


KEY e INDEX son sinónimos en MySQL. Quieren decir lo mismo. En las bases de datos usaría indexes para mejorar la velocidad de recuperación de datos. Normalmente se crea un índice en las columnas utilizadas en las cláusulas JOIN , WHERE y ORDER BY .

Imagine que tiene una tabla llamada users y desea buscar a todos los usuarios que tienen el apellido ''Smith''. Sin un índice, la base de datos tendría que revisar todos los registros de la tabla: esto es lento, ya que cuantos más registros tenga en su base de datos, más trabajo tendrá que hacer para encontrar el resultado. Por otro lado, un índice ayudará a la base de datos a pasar rápidamente a las páginas relevantes donde se guardan los registros de ''Smith''. Esto es muy similar a cómo nosotros, los humanos, revisamos el directorio de una guía telefónica para encontrar a alguien por el apellido: No comenzamos a buscar en el directorio de principio a fin, siempre que insertemos la información en algún orden que podamos. Se usa para saltar rápidamente a las páginas ''S''.

Las claves primarias y las claves únicas son similares. Una clave principal es una columna, o una combinación de columnas, que puede identificar de forma única una fila. Es un caso especial de clave única . Una tabla puede tener como máximo una clave principal, pero más de una clave única. Cuando especifica una clave única en una columna, no hay dos filas distintas en una tabla que puedan tener el mismo valor.

También tenga en cuenta que las columnas definidas como claves primarias o claves únicas se indexan automáticamente en MySQL.


PRIMARY KEY Y PRIMARY KEY UNIQUE KEY son similares, excepto que tiene diferentes funciones. La clave principal hace que la fila de la tabla sea única (es decir, no puede haber 2 filas con la misma clave exacta). Solo puede tener 1 clave principal en una tabla de base de datos.

La clave única hace que la columna de la tabla en una fila de la tabla sea única (es decir, que ninguna fila de la tabla 2 tenga el mismo valor exacto). Puede tener más de 1 columna de tabla de clave única (a diferencia de la clave principal, lo que significa que solo 1 columna de tabla en la tabla es única).

INDEX también crea singularidad. MySQL (ejemplo) creará una tabla de indexación para la columna que se indexa. De esta manera, es más fácil recuperar el valor de la fila de la tabla cuando se consulta la consulta en esa columna de tabla indexada. La desventaja es que si realiza muchas actualizaciones / eliminaciones / creaciones, MySQL tiene que administrar las tablas de indexación (y eso puede ser un cuello de botella en el rendimiento).

Espero que esto ayude.


Clave principal : podemos poner solo una clave primaria en una tabla en una tabla y no podemos dejar esa columna en blanco cuando ingresamos los valores en la tabla.

Clave única : podemos poner más de una clave única en una tabla y podemos dejar esa columna en blanco cuando ingresemos los valores en la tabla. la columna toma valores únicos (no iguales) cuando aplicamos la clave principal y única.


Llave unica :

  1. Más de un valor puede ser nulo.
  2. No hay dos tuplas que puedan tener los mismos valores en clave única.
  3. Una o más claves únicas se pueden combinar para formar una clave principal, pero no al revés.

Clave primaria

  1. Puede contener más de una clave única.
  2. Representa únicamente una tupla.