¿Qué es un índice agrupado?

Un índice agrupado es un índice que se almacena físicamente en el mismo orden que los datos que se indexan. Pueden servir para varios propósitos:

  • Ayuda a optimizar una consulta de rango : si hay un índice en una variable particular utilizada en una consulta de rango, la base de datos puede encontrar el primer valor en el rango y luego buscar las filas posteriores hasta el final del rango. Dado que el índice corresponde a los datos reales, no se requiere más búsqueda.
  • Orden de clasificación predeterminado : si los datos se devuelven siempre ordenados en un orden particular, en lugar de ordenar el conjunto de resultados después de cada consulta, se podría crear un índice agrupado, lo que obligaría a los datos a almacenarse en un cierto orden de clasificación.

Un par de cosas a tener en cuenta:

  • Solo puede tener un índice agrupado para una tabla. La mayoría de los DBMS almacenan datos solo una vez y, por lo tanto, solo se puede imponer un orden de clasificación.
  • Un índice agrupado puede ser compuesto: los datos pueden ordenarse por una columna y por otra.

SQL en general proporciona 2 tipos de indexación. Piense en los índices como un mecanismo para acceder rápidamente a sus datos. Piense en cómo buscaría algún contenido en el libro. Puede escanear las páginas una por página, hasta que encuentre su contenido (esto se denomina escaneo completo de la tabla en las bases de datos) o puede consultar la tabla de contenido del libro, encontrar el número exacto de la página y pasar a esa página. Esto es similar a un índice agrupado que funciona también. Obviamente, puede tener solo 1 tabla de contenido para un libro y, por lo tanto, según un principio similar, solo puede tener 1 índice agrupado para una base de datos.

He intentado dar una explicación detallada aquí: la respuesta de Siddharth Teotia a ¿Qué es un índice agrupado y no agrupado?

More Interesting

¿Cómo pueden los desarrolladores incorporar inteligencia artificial o aprendizaje automático en su software hoy?

¿Puedo hacer machine learning con Go?

¿Vale la pena obtener un título en informática en línea?

¿Qué consejo le darías a un estudiante universitario de CS?

¿Cuál es la reputación de MS (CS) con la especialización de Cloud Computing de Texas Tech, Universidad de Lubbock en el mercado laboral de EE. UU. Ahora? ¿Qué área de investigación en computación en la nube tiene una gran demanda desde una perspectiva laboral en el mercado estadounidense de hoy?

¿Puedo ser lo suficientemente bueno en el aprendizaje automático?

¿Dónde puedo encontrar datos de rendimiento y puntos de referencia para Apache Cassandra?

¿Qué trabajos puede hacer un estudiante de secundaria en las startups?

¿Cuáles son los libros que deben leer para los estudiantes de Ciencias de la Computación que desean trabajar en nuevas empresas web?

¿La inteligencia artificial ejecuta Quora?

¿Por qué se trata de "informáticos" y no de "nerds informáticos"? ¿De dónde viene la palabra 'científicos'?

¿Es IOStream de C ++ un mal diseño?

¿La velocidad de ejecución de un algoritmo que, al ejecutarse, hace que el sistema físico en ejecución tenga experiencia subjetiva, hace alguna diferencia en la naturaleza de esta experiencia subjetiva?

¿Qué tipo de inteligencias las computadoras ya funcionan mejor que las personas?

¿Cuál es la complejidad computacional de un vector en crecimiento?