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:
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:
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.