Las secuencias de Oracle se usan comúnmente para generar identificadores numéricos únicos para los registros de bases de datos. Sin embargo, la generación de valores de secuencia puede ser una restricción de rendimiento para aplicaciones de alta concurrencia. Una forma de mejorar el rendimiento es almacenar en caché las secuencias de Oracle reduciendo el número de accesos de diccionario requeridos para generar valores de secuencia.
Esta guía explicará cómo almacenar en caché la secuencia de Oracle para mejorar los recursos de diccionario de datos.
Cómo almacenar en caché la secuencia de Oracle para mejorar/mejorar los recursos de diccionario de datos?
Las siguientes opciones se pueden usar para almacenar en caché de la secuencia de Oracle para mejorar los recursos del diccionario de datos:
Antes de comenzar con la mejora, inicie sesión en la base de datos Oracle como administrador del sistema escribiendo el comando otorgado:
Sqlplus sys/root1234 como sysdba
En el comando anterior, "root1234"¿Es la contraseña de la base de datos?.
Producción
La salida mostró el inicio de sesión exitoso a una base de datos Oracle.
Después del inicio de sesión exitoso, confirmemos el tamaño del caché y el valor máximo de la secuencia.
Verifique el tamaño del caché
Para verificar el tamaño de la memoria caché, la instrucción SELECT se puede usar con CACHE_SIZE como se indica a continuación:
Seleccione CACHE_SIZE de All_Sequences
Donde secuence_owner = 'c ## md'
Y secuence_name = 'dbobjectid_sequence';
En el comando anterior, el tamaño de la memoria caché de una secuencia llamada "Dbobjectid_sequence"Se selecciona de la All_Sequences vista.
Producción
La salida mostró que el tamaño del caché es 50.
Verifique el valor máximo
El "max_value" se puede usar con la instrucción Seleccionar para obtener el valor máximo de la secuencia, como se muestra a continuación:
Seleccione Max_Value de All_Sequences
Donde secuence_owner = 'c ## md'
Y secuence_name = 'dbobjectid_sequence';
Producción
La salida mostró el Máximo valor de la secuencia.
Cómo almacenar en caché de la secuencia de Oracle usando la opción Cache?
El "CACHELa opción "se utiliza previamente para asignar un número especificado de valores de secuencia en la memoria, que luego son utilizados por la base de datos sin la necesidad de accesos de diccionario. Para almacenar en caché de una secuencia de Oracle, puede usar la opción de caché al crear o alterar la secuencia.
El ejemplo se da a continuación:
Alter secuencia c ## md.DBObjectId_Sequence Cache 70;
En el ejemplo anterior:
Producción
La salida mostró que el tamaño del caché ha sido alterado.
Confirmemos el tamaño del caché escribiendo el comando dado:
Seleccione CACHE_SIZE de All_Sequences
Donde secuence_owner = 'c ## md'
Y secuence_name = 'dbobjectid_sequence';
Producción
La salida mostró que el tamaño del caché se ha cambiado a 70.
Cómo almacenar en caché de la secuencia de Oracle usando la opción NOORDER?
El "SIN ORDENLa opción se utiliza para prealocar un número especificado de valores de secuencia en la memoria sin ordenar los valores en ningún orden específico. Sin esta opción, Oracle necesitará bloquear la secuencia antes de generar un nuevo valor que puede disminuir el rendimiento.
Al usar la opción "Noorder", Oracle puede almacenar en caché los valores de secuencia y mejorar la utilización de los recursos de diccionario de datos. Aquí hay un ejemplo:
Alter secuencia c ## md.DBObjectId_sequence Cache 90 Noorder;
Producción
La salida "Secuencia alterada"Demostró que los cambios se han realizado.
Cómo almacenar en caché de la secuencia de Oracle usando la opción Keep?
El "MANTENERLa opción se usa para retener los valores de secuencia que se han generado y aún no utilizado, incluso si la base de datos se bloquea o se apaga inesperadamente. También disminuye las posibilidades de la secuencia. La opción Keep puede ser útil para secuencias a las que se accede con frecuencia o para secuencias que se utilizan en entornos altamente concurrentes.
Escriba el siguiente comando dado a la secuencia de oráculo para almacenar en caché para mejorar los recursos del diccionario de datos utilizando la opción Keep:
Alter secuencia c ## md.Dbobjectid_sequence caché 120 mantener;
Producción
La salida demostró que la secuencia ha sido alterada:
Así es como almacenar en caché de la secuencia de Oracle para mejorar los recursos del diccionario de datos.
Conclusión
Almacenamiento en caché de secuencias de Oracle usando el "CACHE","SIN ORDEN", y "MANTENERLas opciones pueden mejorar los recursos del diccionario de datos reduciendo el número de acceso al diccionario requerido para generar valores de secuencia. La opción de caché previamente asigna un número especificado de valores de secuencia en la memoria. Esta guía ha explicado varias opciones para almacenar en caché las secuencias de Oracle para mejorar/mejorar los recursos de diccionario de datos.