Oracle Crear índice

Oracle Crear índice

En las bases de datos de Oracle, un índice se refiere a una estructura de datos que avanza la velocidad de las operaciones de recuperación de datos en una tabla de base de datos. Sin embargo, esto puede tener una penalización de operaciones de escritura adicionales y espacio de almacenamiento en su base de datos.

Un ejemplo de dónde sería útil un índice de base de datos es en un sistema de gestión de relaciones con el cliente.

En dicho sistema, podemos tener una tabla de base de datos que almacene la información del cliente. Esto podría incluir el nombre, dirección, métodos de pago, información de contacto, etc.

Si la tabla posee muchos registros, quizás millones de ellos, puede llevar mucho tiempo y recursos buscar información específica del cliente de la base de datos. Este es un fenómeno negativo, especialmente en bases de datos donde el rendimiento es crítico.

Para circunnavegar esto, podemos usar un índice de base de datos.

Por ejemplo, podemos crear un índice en la columna de nombre del cliente que permitiría que el sistema de la base de datos busque y recupere rápidamente la información de un cliente específico utilizando el nombre. Por lo tanto, en lugar de que el motor de la base de datos pase por todas las filas y columnas en la tabla, solo usa el índice para buscar la información del cliente.

En este tutorial, aprenderá cómo usar el comando Crear índice en la base de datos Oracle para inicializar un nuevo índice.

Declaración de índice de creación de Oracle

A continuación se muestra la sintaxis de la declaración Crear índice en las bases de datos Oracle:

Crear índice index_name
En table_name (columna1, columna2, ...);

La sintaxis anterior crea un índice llamado Index_Name en la tabla con el nombre Table_Name usando las columnas especificadas (columna1, columna2, etc.) como la clave para el índice.

En Oracle, una clave principal es una columna o un conjunto de columnas que identifica de manera única cada fila en una tabla. Por defecto, Oracle crea automáticamente un índice único en las columnas clave primarias de una tabla para imponer la restricción de singularidad y mejorar el rendimiento de las búsquedas clave primarias.

Sin embargo, en algunos casos, es posible que deba crear un nuevo índice para una tabla específica manualmente.

Veamos algunos ejemplos de cómo podemos lograr esto.

Oracle Crear ejemplo de índice

Supongamos que tenemos una tabla que contiene información de los empleados como se muestra en la salida a continuación:

seleccione First_Name, Last_Name, Salario, Hire_Date de los empleados;

Oracle Crear índice para una sola columna

Supongamos que deseamos crear un índice usando la columna First_Name. Podemos ejecutar una consulta como se muestra:

crear índice first_name_lookup en empleados (first_name);

Esta declaración de índice Crear crea un índice llamado First_Name_Lookup en la tabla de empleados, utilizando la columna First_Name como clave para el índice. Este índice se puede utilizar para mejorar el rendimiento de las consultas que buscan empleados por su primer nombre.

Una vez que creamos el índice, podemos usarlo para buscar un empleado específico como se muestra:

Seleccione First_Name, Last_Name, Salario, Hire_Date
De empleados
Donde primero_name = 'William';

Resultado:

Sin el índice First_Name_Lookup, el sistema de base de datos tendría que escanear toda la tabla de empleados para encontrar todas las filas donde la columna First_Name es igual a 'William.'Sin embargo, con el índice en su lugar, el sistema de base de datos puede buscar rápidamente las filas en el índice utilizando el valor' John 'como clave y luego recuperar las filas solicitadas de la tabla, que será mucho más rápido.

Puede ver los pasos utilizados al hacer la consulta utilizando el comando Explicar Plan como se muestra:

Explique el plan para seleccionar First_Name, Last_Name, Salario, Hire_Date
De empleados
Donde primero_name = 'William';

Plan de consulta resultante:

Ejemplo 2 - Oracle Crear índice con múltiples columnas

Del mismo modo, podemos crear un índice compuesto por más de una columna en una tabla dada. Por ejemplo, supongamos que queremos crear un índice compuesto por la columna First_Name y Last_Name.

Podemos usar el código como se muestra:

crear índice multi_lookup en empleados (first_name, last_name);

Esta declaración de índice Crear crea un índice llamado multi_lookup en la tabla de empleados, utilizando las columnas First_Name y Last_Name como clave para el índice.

Una vez creado, podemos usar este índice como se muestra en la consulta de muestra como se muestra:

Seleccione First_Name, Last_Name, Salario, Hire_Date
De empleados
Donde primero_name = 'William' y last_name = 'Smith';

Valor resultante:

Y allí, tiene un método para acelerar las consultas de su base de datos mediante el uso de índices para limitar el alcance de la búsqueda.

Conclusión

La declaración Crear índice en Oracle nos permite crear un índice en una tabla para mejorar el rendimiento de las operaciones de recuperación de datos. Sin embargo, aunque los índices pueden mejorar el rendimiento de la consulta, también incurren en las penalizaciones del espacio de almacenamiento, lo que lleva a una reducción de las operaciones de velocidad de escritura, usándolos solo cuando sea necesario.