Nunca he entendido realmente la diferencia entre estos dos índices, ¿alguien puede explicar cuál es la diferencia (en cuanto al rendimiento, cómo se verá la estructura del índice en db, en cuanto al almacenamiento, etc.)?
Entiendo que esta pregunta es amplia, por favor tengan paciencia conmigo. Realmente no sé cómo buscarlo. Tal vez, si comienzan a explicar sus conocimientos, obtendré sugerencias en la dirección correcta que me permitirán hacer la pregunta más estrecha.
Índice incluido
CREATE NONCLUSTERED INDEX IX_Address_PostalCode
ON Person.Address (PostalCode)
INCLUDE (AddressLine1, AddressLine2, City, StateProvinceID);
Índice 'normal'
CREATE NONCLUSTERED INDEX IX_Address_PostalCode
ON Person.Address (PostalCode, AddressLine1, AddressLine2, City, StateProvinceID);
El almacenamiento interno de índices utiliza una estructura de árbol B y consta de "páginas de índice" (la raíz y todas las páginas intermedias) y "páginas de datos de índice" (sólo las páginas hoja).
Tenga en cuenta que no confunda "páginas de datos de índice" con las "páginas de datos" (páginas hoja de índices agrupados) que almacenan la mayoría de las columnas de datos reales.
INCLUDE
sección, se almacenan menos datos por clave de índice en cada página.Cuando se usa un índice, la tecla de índice se usa para navegar a través de las páginas de índice hasta la página de datos de índice correcta.
INCLUDE
columnas, esos datos están disponibles de inmediato si la consulta los necesita.INCLUDE
columnas, entonces se requiere una "búsqueda de marcadores" adicional para la fila correcta en el índice agrupado (o montón si no hay un índice agrupado definido).Algunas cosas a tener en cuenta que, con suerte, resuelven parte de su confusión:
INCLUDE
columnas).INCLUDE
columnas).Vale la pena señalar que antes de INCLUDE
que se agregaran columnas como característica:
INCLUDE
las columnas básicamente permiten el mismo beneficio de manera más eficiente.NB Algo muy importante a destacar. Por lo general, no obtiene ningún beneficio de las
INCLUDE
columnas de sus índices si tiene el hábito perezoso de escribir siempre sus consultas comoSELECT * ...
. Al devolver todas las columnas , básicamente se asegura de que se requiera una búsqueda de marcadores en cualquier caso.
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras