You are on page 1of 3

ndices

Microsoft SQL Server


Se pueden utilizar ndices para obtener un acceso rpido a informacin concreta de una
tabla de base de datos. Un ndice es una estructura que ordena los valores de una o ms
columnas de una tabla de base de datos, como la columna de apellidos (lname) de la
tabla employee. Si se busca un empleado concreto por su apellido, el ndice ayuda a
obtener dicha informacin con mayor rapidez que si se realiza una bsqueda en todas
las filas de la tabla.
El ndice proporciona punteros a los valores de datos almacenados en las columnas de la
tabla que se seleccionen y, a continuacin, clasifica dichos punteros de acuerdo con el
orden que se especifique. La base de datos utiliza el ndice con mucha ms frecuencia
que se utiliza el ndice de un libro: acude al ndice para buscar un valor en particular y, a
continuacin, sigue el puntero hasta la fila que contenga dicho valor.
En diagramas de bases de datos se puede crear, modificar o eliminar cada tipo de ndice
en la pgina de propiedades ndices y claves correspondiente a una tabla seleccionada.
Un ndice se guarda en la base de datos cuando se guarda la tabla a la que est asociado,
o cuando se guarda el diagrama en el que aparece dicha tabla. Para ver ms detalles,
consulte Crear un ndice.
Como regla general, se debe crear un ndice en una tabla slo si los datos de las
columnas indizadas se van a consultar con frecuencia. Los ndices ocupan espacio en
disco y pueden ralentizar las acciones de agregar, eliminar y actualizar filas. En la
mayora de las situaciones, estas desventajas de los ndices son compensadas
sobradamente por la ventaja que supone recuperar datos a gran velocidad. Sin embargo,
si la aplicacin actualiza datos con mucha frecuencia o se tienen limitaciones de espacio
en disco, puede que sea conveniente limitar el nmero de ndices.
Ante de crear un ndice, se deben determinar las columnas que se han de utilizar y el
tipo de ndice que se desea crear. Para obtener ms informacin, consulte:

Columnas de ndice

Tipos de ndices

Columnas de ndice
Se pueden crear ndices tomando como base una sola columna o varias columnas de una
tabla de base de datos. Los ndices basados en varias columnas permiten distinguir entre
filas en las que una columna puede tener el mismo valor.
Los ndices tambin son tiles si se realizan con frecuencia procesos de bsqueda o de
ordenacin basados en dos o ms columnas a la vez. Por ejemplo, si establece
frecuentemente criterios para las columnas de nombre y apellido en la misma consulta,
conviene crear en estas dos columnas un ndice para varias columnas.

Para determinar la utilidad de un ndice:

Examine las clusulas WHERE y JOIN de las consultas. Cada columna incluida
en cualquiera de las dos clusulas es una posible candidata para un ndice.

Experimente con el nuevo ndice para observar su efecto en el rendimiento de la


ejecucin de consultas.
Tenga en cuenta el nmero de ndices que ya se han creado en la tabla. Conviene
evitar la existencia de un gran nmero de ndices en una sola tabla.
Examine las definiciones de los ndices que ya se han creado en la tabla.
Conviene evitar la superposicin de ndices que contengan columnas
compartidas.
Examine el nmero de valores de datos nicos en una columna y comprelo con
el nmero de filas de la tabla. El resultado es el grado de selectividad de dicha
columna, que puede ayudar a decidir si una columna es candidata para un ndice
y, en caso afirmativo, el tipo de ndice apropiado.

Tipos de ndices
Dependiendo de la funcionalidad de la base de datos, se pueden crear tres tipos de
ndices (nico, de clave principal y agrupado) en el Diseador de bases de datos.
Sugerencia Aunque un ndice nico ayuda a localizar informacin, se recomienda
utilizar en su lugar restricciones nicas o de clave principal para lograr unos resultados
ptimos en cuanto a rendimiento. Para obtener ms informacin acerca de estas
restricciones, vea Restricciones PRIMARY KEY y Restricciones nicas.

ndice nico
Un ndice nico es aqul en el que no se permite que dos filas tengan el mismo valor de
ndice.
La mayora de las bases de datos impiden guardar una tabla con un ndice nico recin
creada cuando hay valores de clave duplicados en los datos existentes. La base de datos
tambin puede evitar la incorporacin de datos nuevos que creen valores de clave
duplicados en la tabla. Por ejemplo, si crea un ndice nico en la columna de apellidos
de empleados (lname) en la tabla employee, los empleados no podrn compartir un
mismo apellido.
Para obtener ms informacin acerca de los ndices nicos, consulte Crear un ndice
nico.

ndice de clave principal


En ocasiones, una tabla de base de datos tiene una columna o una combinacin de
columnas cuyo valor identifica de forma exclusiva cada fila de la tabla. Esta columna
recibe el nombre de clave principal de la tabla.
Si se define una clave principal para una tabla en un diagrama de base de datos, se crea
automticamente un ndice de clave principal, que es un tipo concreto de ndice nico.

Este ndice requiere que cada valor de la clave principal sea nico. Tambin permite un
acceso rpido a los datos cuando se utiliza dicho ndice en consultas. Para obtener ms
informacin acerca de las claves principales, consulte Definir una clave principal.

ndice agrupado
En un ndice agrupado, el orden fsico de las filas de la tabla coincide con el orden
lgico (indizado) de los valores de clave. Una tabla slo puede contener un ndice
agrupado.
En un ndice no agrupado, el orden fsico de las filas de la tabla no coincide con el
orden lgico de los valores de clave. Normalmente, un ndice agrupado proporciona un
acceso a los datos ms rpido que un ndice no agrupado.
Para obtener ms informacin acerca de la utilizacin de un ndice agrupado, consulte
Crear un ndice agrupado.

Consulte tambin
Restricciones

You might also like