Índices (Visual Database Tools)
Puede utilizar un índice para obtener un acceso rápido a información específica de una tabla de base de datos. Un índice es una estructura que ordena los valores de una o más columnas de una tabla de base de datos, por ejemplo, la columna apellido (lname) de la tabla employee. Si buscara un empleado específico por su apellido, el índice le ayudaría a obtener esa información con mayor rapidez que si tuviera que buscar en todas las filas de la tabla.
El índice proporciona punteros a los valores de datos almacenados en columnas especificadas de la tabla y, a continuación, ordena los punteros según el criterio de ordenación especificado. La base de datos utiliza el índice de la misma manera que se utiliza un índice de un libro: se busca en el índice para encontrar un valor determinado y, a continuación, se conduce el puntero a la fila que contiene ese valor.
En los diagramas de base de datos, puede crear, editar o eliminar los distintos tipos de índices en el Índices o claves (Cuadro de diálogo), Índices XML (Cuadro de diálogo) o Índice de texto completo (Cuadro de diálogo) de una tabla seleccionada.. Un índice se guarda en la base de datos cuando guarda la tabla a la que está asociado o cuando guarda el diagrama en el que aparece la tabla. Para obtener más información, vea Trabajar con índices.
Nota
No todas las bases de datos operan con índices de la misma manera. Para obtener más información, consulte la documentación de la base de datos.
Como norma general, se debe crear un índice en una tabla solamente si se van a consultar con frecuencia los datos de las columnas indizadas. Los índices ocupan espacio en disco y ralentizan la adición, eliminación y actualización de filas. En la mayoría de los casos, estas desventajas se ven superadas por la ventaja que supone la mayor velocidad de los índices para recuperar datos. Sin embargo, si la aplicación actualiza datos con frecuencia o si dispone de restricciones de espacio en disco, es posible que desee limitar el número de índices.
Antes de crear un índice, debe determinar qué columnas va a utilizar y qué tipo de índice va a crear.
Columnas de índice
Puede crear índices basados en una sola columna o en varias columnas de una tabla de base de datos. Los índices de múltiples columnas le permiten distinguir entre filas en las que una columna puede tener el mismo valor.
Los índices también resultan útiles si busca o clasifica a menudo por dos o más columnas a la vez. Por ejemplo, si normalmente establece criterios para las columnas de apellido y nombre en la misma consulta, tiene sentido crear un índice de múltiples columnas en esas dos columnas.
Para determinar la utilidad de un índice:
Examine las cláusulas WHERE y JOIN de las consultas. Cada consulta incluida en una de estas cláusulas se puede tomar como candidata para un índice.
Experimente con el índice nuevo para examinar su efecto en el rendimiento de las consultas en ejecución.
Tenga en cuenta el número de índices ya creados en la tabla. Es conveniente evitar un gran número de índices en una sola tabla.
Examine las definiciones de los índices ya creados en la tabla. Es conveniente evitar la superposición de índices que contengan columnas compartidas.
Examine el número de valores de datos únicos de una columna y compare ese número con el número de filas de la tabla. El resultado es la selectividad de esa columna, que puede ayudarle a decidir si una columna es candidata para un índice y, si es así, qué tipo de índice.
Tipos de índice
Según la funcionalidad de la base de datos, puede crear tres tipos de índices (único, de clave principal y agrupado) en el Diseñador de bases de datos. Para obtener más detalles sobre la funcionalidad de indización admitida por la base de datos, consulte la documentación de la base de datos.
Sugerencia |
---|
Aunque un índice único ayuda a encontrar información, se recomienda utilizar las restricciones de clave principal o UNIQUE en su lugar con el fin de mejorar el rendimiento. Para obtener más información sobre estas restricciones, vea Trabajar con restricciones. |
Índice único
Un índice único es un índice en el que no se permite que dos filas tengan el mismo valor de índice.
La mayoría de las bases de datos no permiten guardar una tabla con un índice único recién creado cuando hay valores de clave duplicados en los datos existentes. Es posible que la base de datos impida también la adición de datos nuevos que crearían valores de clave duplicados en la tabla. Por ejemplo, si crea un índice único en el apellido del empleado (lname) en la tabla employee, dos empleados no podrán compartir el mismo apellido.
Para obtener más información sobre los índices únicos, vea Cómo: Crear índices únicos.
Índice de clave principal
Una tabla de base de datos suele tener una columna o combinación de columnas cuyo valor identifica de forma única a cada fila de la tabla. Esta columna se denomina clave principal de la tabla.
La definición de una clave principal para una tabla en un diagrama de base de datos crea de forma automática un índice de clave principal, que es un tipo específico de índice único. Este índice requiere que cada valor de la clave principal sea único. También permite un acceso rápido a los datos si se utiliza el índice de clave principal en las consultas. Para obtener más información sobre las claves principales, vea Trabajar con claves.
Índice agrupado
En un índice agrupado, el orden físico de las filas de la tabla es el mismo que el orden lógico (indizado) de los valores de clave. Una tabla sólo puede contener un índice agrupado.
Si un índice no es agrupado, el orden físico de las filas de la tabla no coincidirá con el orden lógico de los valores de clave. Habitualmente, un índice agrupado proporciona un acceso más rápido a los datos que un índice no agrupado.
Para obtener más información sobre cómo utilizar un índice agrupado, vea Cómo: Crear índices agrupados.
Índices de texto completo
Cree un índice de texto completo si desea realizar búsquedas de texto completo en columnas basadas en texto de las tablas de la base de datos. Un índice de texto completo se basa en un índice normal, por lo que deberá crear primero este último. El índice normal debe crearse en una sola columna sin valores nulos, y es conveniente elegir una columna con valores más pequeños que una con valores más grandes. Para obtener más información, vea Cómo: Crear índices.
Nota
Para crear un índice de texto completo, debe crear primero un catálogo con una herramienta externa, como SQL Server Management Studio o Administrador corporativo.
Nota
La funcionalidad del índice de texto completo no está disponible en Microsoft SQL Server Express 2005.
Índice XML
Utilice el cuadro de diálogo Índices XML para crear índices para las columnas del tipo de datos XML que no pueden indizarse utilizando el cuadro de diálogo Índice y claves. Cada columna XML puede tener varios índices XML, pero el que se cree en primer lugar (principal) constituirá la base de los otros. Si elimina el índice XML principal, también se eliminarán los otros. Para obtener más información sobre los índices XML, vea Cómo: Crear índices XML.
Vea también
Referencia
Índices o claves (Cuadro de diálogo)
Relaciones de clave externa (Cuadro de diálogo)
Índices XML (Cuadro de diálogo)
Índice de texto completo (Cuadro de diálogo)