Si suele realizar búsquedas en una tabla de Access u ordenar sus registros por un campo determinado, puede acelerar estas operaciones mediante la creación de un índice para el campo. Access usa los índices de una tabla de la misma forma que el usuario usa el índice de un libro: para buscar datos, Access busca la ubicación de los datos en el índice. En algunos casos, como cuando se trata de una clave principal, Access crea un índice para usted de forma automática. En otras ocasiones, es posible que quiera crear un índice usted mismo.
En este artículo se presentan los índices y se explica cómo decidir los campos que se van a indizar, así como la forma de crear, eliminar o modificar un índice. También se explican las condiciones en las que Access crea índices de forma automática.
En este artículo
Nota: No se pueden usar los métodos descritos en este artículo para crear un índice para una tabla en una base de datos web. El rendimiento de una base de datos web depende del rendimiento de varios factores, como el servidor de SharePoint que hospeda la base de datos web.
¿Qué es un índice?
Puede usar un índice para ayudar a Access a buscar y ordenar los registros más rápidamente. Un índice almacena la ubicación de los registros basándose en el campo o campos que elija indizar. Después de que Access obtenga la ubicación del índice, se pueden recuperar los datos pasando directamente a la ubicación correcta. De esta forma, el uso de un índice puede ser considerablemente más rápido que examinar todos los registros para encontrar los datos.
Decidir los campos que se van a indizar
Puede crear índices que estén basados en un solo campo o en varios campos. Seguramente querrá indizar los campos en los que realiza búsquedas con frecuencia, los campos que ordena y los campos que combina con campos de otras tablas en consultas de varias tablas. Los índices pueden acelerar las búsquedas y las consultas, pero pueden ralentizar el rendimiento al agregar o actualizar los datos. Al escribir datos en una tabla que contiene uno o varios campos indizados, Access debe actualizar los índices cada vez que se agrega o cambia un registro. Agregar registros mediante una consulta de datos anexados o anexando registros importados también es probable que sea más lento si la tabla de destino contiene índices.
Nota: La clave principal de una tabla se indiza automáticamente.
No se puede indizar un campo cuyo tipo de datos sea Objeto OLE, Calculado o Datos adjuntos. En los demás campos, considere la posibilidad de indizar si se cumplen todas estas condiciones:
-
El tipo de datos del campo es Texto corto, Texto largo, Número, Fecha y hora, Autonumeración, Moneda, Sí/No o Hipervínculo.
-
Si prevé que va a buscar valores almacenados en el campo.
-
Si prevé que va a ordenar valores del campo.
-
Si prevé que va a almacenar muchos valores distintos en el campo. Si muchos de los valores del campo son iguales, es posible que el índice no acelere las consultas de una forma significativa.
Índices de varios campos
Si cree que va a buscar u ordenar por dos o más campos a la vez con frecuencia, puede crear un índice para esa combinación de campos. Por ejemplo, si suele definir criterios para los campos Proveedor y NombreProducto en la misma consulta, tiene sentido crear un índice de varios campos en ambos campos.
Si ordena una tabla por un índice de varios campos, Access ordena en primer lugar por el primer campo definido para el índice. El usuario define el orden de los campos al crear un índice de varios campos. Si hay registros con valores duplicados en el primer campo, Access ordena a continuación por el segundo campo definido para el índice y así sucesivamente.
En un índice de varios campos es posible incluir hasta 10 campos.
Crear un índice
Para crear un índice, primero es necesario decidir si se va a crear un índice de un solo campo o de varios campos. Un índice de un solo campo se crea al establecer la propiedad Indizado. En la siguiente tabla se indican los posibles valores de la propiedad Indizado.
Valor de la propiedad Indizado |
Significado |
---|---|
No |
No crear un índice en este campo (o eliminar el índice existente) |
Sí (con duplicados) |
Crear un índice en este campo |
Sí (sin duplicados) |
Crear un índice único en este campo |
Si crea un índice único, Access no le permitirá escribir un valor nuevo en el campo si ese valor ya existe en el mismo campo de otro registro. Access crea automáticamente un índice único para las claves principales, aunque también es posible que quiera impedir valores duplicados en otros campos. Por ejemplo, puede crear un índice único en un campo que almacene números de serie, de modo que no haya dos productos con el mismo número de serie.
Crear un índice de un solo campo.
-
En el panel de navegación, haga clic con el botón secundario en el nombre de la tabla en la que desea crear el índice y, a continuación, haga clic en Vista Diseño en el menú contextual.
-
Haga clic en el Nombre de campo del campo que desea indizar.
-
En Propiedades de campo, haga clic en la pestaña General.
-
En la propiedad Indizado, haga clic en Sí (con duplicados) si quiere permitir duplicados o en Sí (sin duplicados) para crear un índice único.
-
Para guardar los cambios, haga clic en Guardar en la Barra de herramientas de acceso rápido o presione CTRL+G.
Crear un índice de varios campos
Para crear un índice de varios campos para una tabla, incluya una fila para cada campo del índice, así como el nombre del índice únicamente en la primera fila. Access trata todas las filas como parte del mismo índice hasta que llega a una fila que contiene otro nombre de índice. Para insertar una fila, haga clic con el botón derecho en la ubicación en la que quiere insertar la fila y, después, haga clic en Insertar filas en el menú contextual.
-
En el panel de navegación, haga clic con el botón secundario en el nombre de la tabla en la que desea crear el índice y, a continuación, haga clic en Vista Diseño en el menú contextual.
-
En la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Índices.
Aparece la ventana Índices. Modifique el tamaño de la ventana para que se vean algunas filas en blanco y las propiedades de índice.
-
En la columna Nombre del índice, en la primera fila en blanco, escriba el nombre del índice. Puede utilizar el nombre de uno de los campos del índice o cualquier otro nombre.
-
En la columna Nombre de campo, haga clic en la flecha y, a continuación, en el primer campo que desee utilizar para el índice.
-
En la siguiente fila, deje en blanco la columna Nombre del índice y, a continuación, en la columna Nombre de campo, haga clic en el segundo campo del índice. Repita este paso hasta que haya seleccionado todos los campos que desee incluir en el índice.
-
Para cambiar el orden de los valores del campo, en la columna Criterio de ordenación de la ventana Índices, haga clic en Ascendente o en Descendente. El criterio de ordenación predeterminado es Ascendente.
-
En la ventana Índices, en Propiedades del índice, establezca las propiedades del índice para la fila en la columna Nombre del índice que contiene el nombre del índice. Establezca las propiedades según la siguiente tabla.
Etiqueta
Valor
Principal
Si el valor es Sí, el índice es la clave principal.
Único
Si el valor es Sí, todos los valores del índice deben ser únicos.
Ignorar Nulos
Si el valor es Sí, los registros con un valor nulo de los campos indizados se excluyen del índice.
-
Para guardar los cambios, haga clic en Guardar en la Barra de herramientas de acceso rápido o presione CTRL+G.
-
Cierre la ventana Índices.
Eliminar un índice
Si descubre que un índice ya no es necesario o afecta demasiado al rendimiento, puede eliminarlo. Al eliminar un índice, solo quita este índice y no el campo o los campos en los que se basa.
-
En el panel de navegación, haga clic con el botón derecho en el nombre de la tabla en la que se encuentra el índice que quiere eliminar y, después, haga clic en Vista Diseño en el menú contextual.
-
En la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Índices.
Aparece la ventana Índices. Modifique el tamaño de la ventana para que se vean algunas filas en blanco y las propiedades de índice.
-
En la ventana Índices, seleccione la fila o las filas que contienen el índice que desea eliminar y, a continuación, presione SUPR.
-
Para guardar los cambios, haga clic en Guardar en la Barra de herramientas de acceso rápido o presione CTRL+G.
-
Cierre la ventana Índices.
Ver y modificar índices
Es posible que quiera ver los índices de una tabla para evaluar su efecto sobre el rendimiento o para asegurarse de que unos campos concretos estén indizados.
-
En el panel de navegación, haga clic con el botón derecho en el nombre de la tabla en la que se encuentra el índice que quiere modificar y, después, haga clic en Vista Diseño en el menú contextual.
-
En la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Índices.
Aparece la ventana Índices. Modifique el tamaño de la ventana para que se vean algunas filas en blanco y las propiedades de índice.
-
Vea o modifique los índices y las propiedades de índice de modo que se ajusten a sus necesidades.
-
Para guardar los cambios, haga clic en Guardar en la Barra de herramientas de acceso rápido o presione CTRL+G.
-
Cierre la ventana Índices.
Creación automática de índices
En algunos casos, Access crea índices para el usuario de forma automática. Por ejemplo, se crea un índice automáticamente para cualquier campo o campos que se designen como una clave principal de la tabla.
Otro origen de la creación automática de índices es la opción Autoindexar al importar o crear del cuadro de diálogo Opciones de Access . Access indiza automáticamente los campos con nombres que comienzan o terminan con los caracteres especificados en el cuadro Autoindexar al importar o crear , como Id., clave, código o num. Para ver o cambiar la configuración actual, siga estos pasos:
-
Haga clic en Archivo > Opciones.
-
Haga clic en Diseñadores de objetos y, después, en Diseño de tabla, agregue, modifique o elimine los valores en el cuadro Autoindizar al importar o crear. Use un punto y coma (;) para separar los valores.
Nota: Si el nombre de un campo comienza o termina con un valor de los que aparecen en el cuadro, el campo se indiza de forma automática.
-
Haz clic en Aceptar.
Dado que cada índice adicional exige más trabajo por parte de Access, el rendimiento disminuye al agregar o actualizar datos. Por tanto, es posible que quiera considerar la posibilidad de cambiar los valores que aparecen en el cuadro Autoindizar al importar o crear o de reducir el número de valores para minimizar el número de índices creados.