Sobes.tech
Middle

¿En qué se diferencia un índice agrupado de uno no agrupado?

sobes.tech AI

Respuesta de la IA

El índice agrupado y el índice no agrupado difieren en cómo almacenan los datos y afectan la estructura de la tabla en la base de datos.

  • Índice agrupado (Clustered Index):

    • Define el orden físico en que se almacenan las filas en la tabla.
    • La tabla solo puede tener un índice agrupado.
    • Los datos se recuperan rápidamente mediante el índice agrupado, ya que los datos se almacenan en orden ordenado.
    • Normalmente se crea en la clave primaria.
  • Índice no agrupado (Non-Clustered Index):

    • Almacena una estructura separada (por ejemplo, un árbol B) con punteros a las filas físicas de la tabla.
    • La tabla puede tener varios índices no agrupados.
    • Es más rápido para buscar en campos no clave, pero requiere un paso adicional para acceder a los datos.

Ejemplo:

Si tienes una tabla de usuarios con un índice agrupado en user_id, las filas están ordenadas físicamente por user_id. Si creas un índice no agrupado en email, habrá una estructura separada que apunta a las filas con el email deseado.

En Go (Golang), los índices no se crean directamente, pero al trabajar con bases de datos es importante entender estas diferencias para optimizar las consultas.