Oracle/PLSQL: Índices

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

Oracle/PLSQL: Índices

Este tutorial de Oracle describe cómo Crear, renombrar y eliminar índices Sintaxis y ejemplos en Oracle.

¿Qué son los índices en Oracle?

La indexación es un método de ajuste del rendimiento que permite una recuperación más rápida de los registros. Un índice crea una entrada para cada valor que aparece en la columna indexada. De forma predeterminada, Oracle crea índices de árbol B.

crear índice

sintaxis

La sintaxis para crear un índice en Oracle/PLSQL es:

CREATE [UNIQUE] INDEX index_name
  ON table_name (column1, column2, ... column_n)
  [ COMPUTE STATISTICS ];

ÚNICO significa que la combinación de valores en la columna indexada debe ser única. index_name El nombre asignado al índice. table_name El nombre de la tabla en la que se va a crear el índice. column1, column2, … column_n Las columnas que se utilizarán en el índice. COMPUTAR ESTADÍSTICAS Le dice a Oracle que recopile estadísticas durante la creación del índice. Luego, el optimizador usa las estadísticas para elegir un “plan de ejecución” al ejecutar la instrucción SQL.

ejemplo

Veamos un ejemplo de cómo crear un índice en Oracle/PLSQL.

Por ejemplo:

CREATE INDEX supplier_idx
  ON supplier (supplier_name);

En este ejemplo, hemos creado un índice llamado idx_proveedor en la tabla de proveedores. Contiene un solo campo: el campo de nombre del proveedor.

También podemos crear un índice con múltiples campos, como en el siguiente ejemplo:

CREATE INDEX supplier_idx
  ON supplier (supplier_name, city);

También podemos optar por recopilar estadísticas en el momento de la creación del índice de la siguiente manera:

CREATE INDEX supplier_idx
  ON supplier (supplier_name, city)
  COMPUTE STATISTICS;

Crear un índice basado en funciones

En Oracle, no está limitado a crear índices en columnas. Puede crear índices basados ​​en funciones.

sintaxis

La sintaxis para crear un índice basado en funciones en Oracle/PLSQL es:

CREATE [UNIQUE] INDEX index_name
  ON table_name (function1, function2, ... function_n)
  [ COMPUTE STATISTICS ];

ÚNICO significa que la combinación de valores en la columna indexada debe ser única. index_name El nombre asignado al índice. table_name El nombre de la tabla en la que se va a crear el índice. function1, function2, … function_n Las funciones a utilizar en el índice. COMPUTAR ESTADÍSTICAS Le dice a Oracle que recopile estadísticas durante la creación del índice. Luego, el optimizador usa las estadísticas para elegir un “plan de ejecución” al ejecutar la instrucción SQL.

ejemplo

Veamos un ejemplo de cómo crear un índice basado en funciones en Oracle/PLSQL.

Por ejemplo:

CREATE INDEX supplier_idx
  ON supplier (UPPER(supplier_name));

En este ejemplo, creamos un índice basado en la evaluación en mayúsculas del campo nombre_proveedor.

Sin embargo, para garantizar que el optimizador de Oracle utilice este índice al ejecutar sentencias SQL, asegúrese de que UPPER(nombre_proveedor) no se evalúe como un valor NULL.Para garantizar esto, agregue SUPERIOR (nombre del proveedor) no está vacío Su cláusula WHERE es la siguiente:

SELECT supplier_id, supplier_name, UPPER(supplier_name)
FROM supplier
WHERE UPPER(supplier_name) IS NOT NULL
ORDER BY UPPER(supplier_name);

renombrar índice

sintaxis

La sintaxis para cambiar el nombre de un índice en Oracle/PLSQL es:

ALTER INDEX index_name
  RENAME TO new_index_name;

index_name El nombre del índice para cambiar el nombre. new_index_name El nuevo nombre que se asignará al índice.

ejemplo

Veamos un ejemplo de cómo renombrar un índice en Oracle/PLSQL.

Por ejemplo:

ALTER INDEX supplier_idx
  RENAME TO supplier_index_name;

En este ejemplo, cambiamos el nombre del índice proveedor_idx a proveedor_índice_nombre.

Recopilar estadísticas sobre índices

Si olvidó recopilar estadísticas cuando creó un índice por primera vez, o desea actualizar las estadísticas, siempre puede usar el comando ALTER INDEX para recopilar estadísticas más adelante.

sintaxis

La sintaxis para recopilar estadísticas de índice en Oracle/PLSQL es:

ALTER INDEX index_name
  REBUILD COMPUTE STATISTICS;

index_name El índice para el que se recopilan estadísticas.

ejemplo

Veamos un ejemplo de cómo recopilar estadísticas para un índice en Oracle/PLSQL.

Por ejemplo:

ALTER INDEX supplier_idx
  REBUILD COMPUTE STATISTICS;

En este ejemplo, estamos recolectando estadísticas para un índice llamado supplier_idx.

índice de caída

sintaxis

La sintaxis para eliminar un índice en Oracle/PLSQL es:

DROP INDEX index_name;

index_name El nombre del índice a descartar.

ejemplo

Veamos un ejemplo de cómo soltar un índice en Oracle/PLSQL.

Por ejemplo:

DROP INDEX supplier_idx;

En este ejemplo, eliminaremos un índice llamado idx_proveedor.

(Visited 21 times, 1 visits today)