SYS_GUID |
Identificateur unique global système |
|---|---|
| Oracle Database SQL | Oracle 8i (version 8.1) ou supérieure |
Syntaxe
| SYS_GUID |
Description
Cette fonction permet de retourner un identificateur unique global.
Remarques
- Génération d'identificateurs uniques : La fonction SYS_GUID génère un identificateur global unique (GUID), utile pour garantir l'unicité des clefs dans des bases de données distribuées ou multi-utilisateurs sans risque de collision.
- Disponibilité depuis Oracle 8i : Introduite dans Oracle 8i (version 8.1), cette fonction répond aux besoins croissants de gestion d'identifiants universels dans des environnements complexes et distribués.
- Syntaxe simple sans paramètres : La fonction s'utilise sans aucun paramètre ni parenthèses, ce qui facilite son intégration dans des requêtes SQL ou des scripts PL/SQL.
- Type de retour RAW(16) : Elle retourne une valeur de type RAW(16), représentant un GUID au format binaire sur 16 octets, ce qui optimise l'entreposage et les performances par rapport à une chaîne hexadécimale.
- Usage fréquent comme clef primaire : SYS_GUID est largement utilisée pour générer des clés primaires dans des tables, notamment lorsque la génération séquentielle classique n'est pas adaptée ou possible.
- Indépendance de la base : L'identifiant généré est indépendant de la base ou de la session, ce qui signifie que deux appels successifs produisent toujours des valeurs différentes.
- Gestion des collisions : Le risque de collision est extrêmement faible grâce à l'algorithme sous-jacent combinant identifiants matériels et temporaux, ce qui rend SYS_GUID très fiable pour des clefs uniques.
- Intégration avec d'autres fonctions : Elle peut être combinée avec des fonctions de conversion comme RAWTOHEX pour afficher le GUID sous forme lisible, ou utilisée directement dans des colonnes RAW.
- Usage dans la réplication et la synchronisation : SYS_GUID facilite la synchronisation de données entre bases distribuées en fournissant des identifiants uniques globaux sans coordination préalable.
- Pas de garantie d'ordre : Contrairement aux séquences, les GUID générés ne sont pas ordonnés chronologiquement, ce qui peut impacter les performances d'indexation dans certains cas.
- Entreposage et indexation : Les colonnes stockant les GUID doivent être indexées avec soin, car leur nature aléatoire peut causer une fragmentation d'index si mal gérée.
- Portabilité entre systèmes : Les GUID générés par SYS_GUID sont compatibles avec d'autres systèmes et standards, facilitant l'intégration et l'échange de données multi-plateformes.
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015