Índices son tablas de búsqueda especiales que un motor de búsqueda de bases de datos puede utilizar para acelerar las búsquedas de datos. Simplemente pon, índice un puntero a los datos de la tabla. Un puntero en una base de datos es muy similar al puntero al final de un libro.
Por ejemplo, si desea consultar todas las páginas de un libro sobre un tema específico, primero debe consultar un índice que enumera todos los temas en orden alfabético y, a continuación, consultar uno o más números de página específicos.
El índice ayuda a acelerar las consultas SELECT y las cláusulas WHERE, pero ralentiza la entrada de datos con declaraciones UPDATE e INSERT. Los índices se pueden crear o eliminar sin afectar los datos.
La creación de índices incluye una instrucción CREATE INDEX que le permite nombrar el índice, especificar la tabla y la columna o columnas a indexar, y especificar si el índice está en orden ascendente o descendente.
Los índices también pueden ser únicos, como la restricción UNIQUE, porque el índice evita registros duplicados en una columna o combinación de columnas que tienen el índice.
A continuación se muestra la sintaxis básica de CREATE INDEX.
CREATE INDEX index_name ON table_name
Un índice de una sola columna es un índice que se crea en función de una sola columna de una tabla. A continuación se muestra la sintaxis básica.
CREATE INDEX index_name ON table_name (column_name)
CREATE INDEX singlecolumnindex ON customers (ID)
Los índices únicos se utilizan no solo para mejorar el rendimiento, sino también para la integridad de los datos. El índice único evita que se inserten valores duplicados en la tabla. A continuación se muestra la sintaxis básica.
CREATE UNIQUE INDEX index_name on table_name (column_name)
CREATE UNIQUE INDEX uniqueindex on customers (NAME)
Un índice compuesto es un índice en dos o más columnas de una tabla. A continuación se muestra la sintaxis básica.
CREATE INDEX index_name on table_name (column1, column2)
CREATE INDEX compositeindex on customers (NAME, ID)
Independientemente de si está creando un índice de una sola columna o un índice compuesto, tenga en cuenta las columnas que puede usar con mucha frecuencia como criterios de filtro en la cláusula WHERE de una consulta.
Si está utilizando solo una columna, debe elegir un índice de una sola columna. Si hay dos o más columnas que se utilizan con frecuencia como filtros en la cláusula WHERE, un índice compuesto es la mejor opción.
Los índices implícitos son índices que el servidor de la base de datos crea automáticamente cuando se crea un objeto. Los índices se generan automáticamente para restricciones de clave primaria y restricciones únicas.
El índice se puede eliminar mediante el comando MS SQL SERVER DROP. Se debe tener precaución al eliminar un índice, ya que el rendimiento puede disminuir o aumentar.
A continuación se muestra la sintaxis básica.
DROP INDEX tablename.index_name
Si bien los índices están diseñados para mejorar el rendimiento de la base de datos, hay ocasiones en las que deben evitarse. Las siguientes pautas indican cuándo revisar el uso del índice:
Los índices no deben usarse para tablas pequeñas.
Las tablas que están sujetas a actualizaciones o inserciones por lotes grandes y frecuentes no deben indexarse.
Los índices no deben usarse en columnas que contengan una gran cantidad de valores nulos.
Las columnas que se manipulan con frecuencia no deben indexarse.
🚫