Comment mettre en cache Oracle Sequence pour améliorer les ressources du dictionnaire de données?

Comment mettre en cache Oracle Sequence pour améliorer les ressources du dictionnaire de données?

Les séquences Oracle sont couramment utilisées pour générer des identifiants numériques uniques pour les enregistrements de base de données. Cependant, la génération de valeurs de séquence peut être une contrainte de performance pour les applications à haute curances. Une façon d'améliorer les performances consiste à mettre en cache les séquences d'Oracle en réduisant le nombre d'accès au dictionnaire requis pour générer des valeurs de séquence.

Ce guide expliquera comment mettre en cache Oracle Sequence pour améliorer les ressources du dictionnaire de données.

Comment mettre en cache Oracle Sequence pour améliorer / améliorer les ressources du dictionnaire de données?

Les options suivantes peuvent être utilisées pour mettre en cache Oracle Sequence pour améliorer les ressources du dictionnaire de données:

    • L'option de cache
    • L'option No Order
    • L'option de conservation

Avant de commencer par l'amélioration, connectez-vous à la base de données Oracle en tant qu'administrateur système en tapant la commande diable:

SQLPLUS SYS / ROOT1234 AS SYSDBA


Dans la commande ci-dessus, "root1234"Est le mot de passe de la base de données.

Sortir


La sortie a montré la connexion réussie dans une base de données Oracle.

Après la connexion réussie, confirmons la taille du cache et la valeur maximale de la séquence.

Vérifier la taille du cache

Pour vérifier la taille du cache, l'instruction SELECT peut être utilisée avec le cache_size comme indiqué ci-dessous:

Sélectionnez Cache_Size dans ALL_SERDENCES
Où sequence_owner = 'c ## md'
Et Sequence_Name = 'dbObjectId_Sequence';


Dans la commande ci-dessus, la taille du cache d'une séquence nommée «DbObjectId_Sequence”Est ​​sélectionné parmi le All_ sequences voir.

Sortir


La sortie a montré que la taille du cache est de 50.

Vérifier la valeur maximale

Le «Max_Value» peut être utilisé avec l'instruction SELECT pour récupérer la valeur maximale de la séquence, comme indiqué ci-dessous:

Sélectionnez Max_Value dans ALL_SERDENCES
Où sequence_owner = 'c ## md'
Et Sequence_Name = 'dbObjectId_Sequence';


Sortir


La sortie affichait le Max valeur de la séquence.

Comment mettre en cache Oracle Séquence à l'aide de l'option de cache?

Le "Cache«L'option est utilisée pour pré-alloue un nombre spécifié de valeurs de séquence en mémoire, qui sont ensuite utilisées par la base de données sans avoir besoin d'accès au dictionnaire. Pour mettre en cache une séquence Oracle, vous pouvez utiliser l'option de cache lors de la création ou de la modification de la séquence.

L'exemple est donné ci-dessous:

Modifier la séquence C ## MD.Cache dbObjectId_Sequence 70;


Dans l'exemple ci-dessus:

    • Le "C ## MD"Est le propriétaire de la séquence.
    • Le "DbObjectId_Sequence"Est le nom de séquence.
    • "70"Est la nouvelle taille de cache.

Sortir


La sortie affichait que la taille du cache a été modifiée.

Confirmons la taille du cache en tapant la commande donnée:

Sélectionnez Cache_Size dans ALL_SERDENCES
Où sequence_owner = 'c ## md'
Et Sequence_Name = 'dbObjectId_Sequence';


Sortir


La sortie affichait que la taille du cache a été changée à 70.

Comment mettre en cache Oracle Sequence en utilisant l'option No Order?

Le "PAS DE COMMANDE”L'option est utilisée pour pré-alloue un nombre spécifié de valeurs de séquence en mémoire sans commander les valeurs dans un ordre spécifique. Sans cette option, Oracle devra verrouiller la séquence avant de générer une nouvelle valeur qui pourrait réduire les performances.

En utilisant l'option «No Order», Oracle peut mettre en cache les valeurs de séquence et améliorer l'utilisation des ressources du dictionnaire de données. Voici un exemple:

Modifier la séquence C ## MD.Cache dbObjectId_Sequence 90 NoOrder;


Sortir


Le résultat "Séquence modifiée"A montré que les changements ont été apportés.

Comment mettre en cache Oracle Sequence en utilisant l'option Keep?

Le "DONJON«L'option est utilisée pour conserver les valeurs de séquence qui ont été générées et non encore utilisées, même si la base de données se bloque ou est arrêtée de façon inattendue. Il diminue également les risques de séquences. L'option Keep peut être utile pour les séquences fréquemment accessibles ou pour les séquences utilisées dans des environnements très concurrents.

Tapez la commande ci-dessous donnée pour mettre en cache une séquence Oracle pour améliorer les ressources du dictionnaire de données à l'aide de l'option Keep:

Modifier la séquence C ## MD.Cache dbObjectId_Sequence 120 Keep;


Sortir

La sortie a démontré que la séquence a été modifiée:


Voici comment mettre en cache Oracle Sequence pour améliorer les ressources du dictionnaire de données.

Conclusion

Cacheing Oracle Sequences Utilisation du «Cache","PAS DE COMMANDE", et "DONJON«Les options peuvent améliorer les ressources du dictionnaire de données en réduisant le nombre d'accès au dictionnaire requis pour générer des valeurs de séquence. L'option de cache pré-alloue un nombre spécifié de valeurs de séquence en mémoire. Ce guide a expliqué diverses options pour mettre en cache des séquences d'Oracle pour améliorer / améliorer les ressources du dictionnaire de données.