Red de conocimiento informático - Aprendizaje de código fuente - ¿Cuál es la diferencia entre claves primarias e índices en una base de datos y cuáles son sus escenarios de uso?

¿Cuál es la diferencia entre claves primarias e índices en una base de datos y cuáles son sus escenarios de uso?

Las bases de datos relacionales se basan en claves primarias, que son la piedra angular del esquema físico de la base de datos. Las claves primarias solo tienen dos usos a nivel físico:

Identificar de forma única una fila.

Como un objeto al que se puede hacer referencia de manera efectiva mediante claves externas.

Un índice es un archivo especial (un índice en una tabla de datos InnoDB es una parte integral del espacio de tabla) que contiene punteros a referencias a todos los registros de la tabla de datos. A continuación se muestran algunas diferencias y conexiones entre claves primarias e índices.

1. La clave principal debe ser un índice único; el índice único no es necesariamente la clave principal.

La llamada clave primaria es un atributo o un grupo de atributos que identifica de forma única una fila de la tabla. Una tabla puede tener sólo una clave principal, pero puede tener varios índices candidatos. Debido a que la clave principal puede identificar de forma única una fila de registros, puede garantizar que los datos se actualicen y eliminen sin errores. Además de las funciones anteriores, las claves primarias a menudo forman restricciones de integridad referencial con claves externas para evitar la inconsistencia de los datos. Las claves primarias juegan un papel importante en el diseño de bases de datos.

La clave principal garantiza la unicidad del registro y el carácter no vacío del campo de clave principal. El sistema de gestión de bases de datos genera automáticamente un índice único para la clave principal, por lo que la clave principal también es un índice especial.

2. Una tabla puede tener múltiples índices únicos, pero solo una clave principal.

3. La columna de clave principal no permite valores nulos, mientras que la columna de índice único permite valores nulos.

4. Los índices pueden mejorar la velocidad de consulta.

De hecho, la clave principal y el índice son claves, pero la clave principal es una clave lógica y el índice es una clave física, es decir, la clave principal en realidad no existe, pero. el índice realmente existe en la base de datos. La clave principal generalmente se establece principalmente para evitar tener los mismos registros en la tabla. Generalmente, no es necesario establecer el índice, pero si necesita consultar la tabla, es mejor. para crearlo, lo que puede acelerar la recuperación.