Suivi des modifications de partition logique et vues matérialisées
Décrit des informations sur la structure de métadonnées de suivi des modifications de partition logique (LPCT) et la réécriture de requête avec suivi des modifications de partition logique dans Autonomous Database.
- A propos du suivi des modifications de partition logique
Le suivi des modifications de partition logique (LPCT) permet de suivre l'étendue des vues matérialisées. - Utilisation du suivi des modifications de partition logique
Le suivi des modifications de partition logique (LPCT) partitionne logiquement une table à l'aide d'une colonne de clé et d'une méthode spécifiées. - Exemple : Suivi des modifications de partition logique
Affiche les étapes à suivre pour utiliser le suivi des modifications de partition logique (LPCT) à l'aide d'une vue matérialisée contenant des jointures et des agrégats.
Rubrique parent : Autonomous Database pour les utilisateurs Oracle Database expérimentés
A propos du suivi des modifications de partitions logiques
Le suivi des modifications de partition logique vous permet de créer des partitions logiques sur des tables de base. Il évalue le degré de finesse des tables de base pour des partitions logiques individuelles sans utiliser de journal de vues matérialisées ni exiger le partitionnement des tables utilisées dans la vue matérialisée.
Lorsque des tables de base dépendantes d'une vue matérialisée sont mises à jour, une vue matérialisée devient STALE
et ne peut pas être utilisée pour la réécriture de requête en mode d'intégrité appliquée par défaut.
Le suivi des modifications de partition logique (LPCT) permet d'exploiter les informations de partitionnement logique fournies par l'utilisateur des tables de base d'une vue matérialisée pour un suivi plus détaillé des données obsolètes au niveau de la partition à des fins d'actualisation et de réécriture. Alors que le suivi des modifications de partitionnement classique (PCT) repose sur le partitionnement physique des tables, LPCT n'a aucune dépendance vis-à-vis des tables physiquement partitionnées ; LPCT peut être utilisé avec des tables partitionnées et non partitionnées.
Le mécanisme de suivi des modifications de partition logique utilise les sous-ensembles (partitions) FRESH
des vues matérialisées, alors que les autres sous-ensembles sont STALE
. Des temps de réponse plus courts peuvent être obtenus pour les requêtes utilisateur car les résultats précalculés dans les vues matérialisées sont utilisés plus souvent. Outre l'augmentation de la convivialité des vues matérialisées, PCT et LPCT permettent également une actualisation incrémentielle des vues matérialisées sans avoir besoin de journaux de vues matérialisées ; l'actualisation peut être à la fois ON DEMAND
ou ON COMMIT
.
Comme pour le suivi des modifications de partitionnement (PCT), le suivi des modifications de partition logique (LPCT) est associé à une table de base et peut identifier avec précision les lignes d'une vue matérialisée affectées par les modifications de données sur la table de base, en fonction des limites de partition logique définies.
Pour plus d'informations, voir Vues matérialisées avancées.
Rubrique parent : Suivi des modifications de partition logique et vues matérialisées
Utilisation du suivi des modifications de partitions logiques
Le suivi des modifications de partition logique (LPCT) partitionne logiquement une table à l'aide d'une colonne et d'une méthode de clé spécifiées.
La syntaxe de création du suivi des modifications de partition logique est analogue aux partitions physiques. Contrairement aux partitions physiques, qui doivent être créées dans le cadre de la création de table, LPCT peut être librement spécifié indépendamment de la création de table et de sa forme, ce qui permet une plus grande flexibilité pour répondre à vos besoins. La création LPCT n'est que des métadonnées.
- Création de partitions logiques - BNF
Décrit la syntaxe de création de partitions logiques BNF. - Choix de la colonne de clé de partition logique
La clé de partitionnement logique est spécifiée pour définir les limites de chaque partition logique. - Actualisation des vues matérialisées à l'aide du suivi des modifications de partition logique
Le mécanisme de suivi des modifications de partition logique (LPCT) enregistre et consolide automatiquement les statistiques de modification en interne en fonction de la clé de partition logique et de la méthode de partitionnement indiquées lors de chaque modification de données. - Réécriture avec des vues matérialisées à l'aide du suivi des modifications de partition logique
A l'aide du suivi des modifications de partition logique (LPCT), Oracle sait qu'une vue matérialisée estSTALE
par rapport à certaines partitions logiques de la table de base, maisFRESH
par rapport à d'autres parties. - Actualisation des vues matérialisées à l'aide du suivi des modifications de partition logique
L'actualisation du suivi des modifications de partition logique (LPCT) peut être implémentée à l'aide d'une granularité de données plus fine pour actualiser de manière incrémentielle les sous-ensemblesSTALE
d'une vue matérialisée, ce qui élimine une actualisation complète coûteuse ou une actualisation rapide basée sur les journaux. - Suivi des modifications de partition logique - Vues du dictionnaire de données
Décrit les vues du dictionnaire de données pour rechercher des informations sur les partitions logiques.
Rubrique parent : Suivi des modifications de partition logique et vues matérialisées
Créer des partitions logiques - BNF
Décrit la syntaxe de création de partitions logiques BNF.
Voici la syntaxe pour créer des partitions logiques BNF :
CREATE LOGICAL PARTITION TRACKING ON table_name
PARTITION BY RANGE (partition_key)
INTERVAL (interval_clause)
(partition_specification);
- Seules les méthodes de partitionnement logique
RANGE
etINTERVAL
sont prises en charge. - Une seule colonne de clé de partition logique est prise en charge.
- La colonne de clé de partitionnement peut présenter les types de données suivants :
NUMBER
DATE
CHAR
VARCHAR
VARCHAR2
TIMESTAMP
TIMESTAMP WITH TIME ZONE
Rubrique parent : Utilisation du suivi des modifications de partition logique
Choisir la colonne de clé de partition logique
La clé de partitionnement logique est spécifiée pour définir les limites de chaque partition logique.
La clé de partition logique n'est pas physique, ce qui signifie que les lignes de table appartenant à une plage de clés ne sont pas séparées en une partition physique distincte. La table peut être non partitionnée ou partitionnée sur une clé différente de la clé de partition logique. La clé de partition logique peut être choisie librement et les limites de partition peuvent être rendues flexibles.
Pour choisir une colonne clé de suivi des modifications de partition logique (LPCT), vous pouvez considérer une colonne clusterisée, c'est-à-dire une colonne dans laquelle les données sont près d'être triées par valeur de colonne, qui sont fréquemment référencées dans les prédicats de filtre de requête. Pour une colonne clusterisée, moins de partitions logiques sont susceptibles d'être affectées lors des chargements de données, cela signifie que moins de partitions logiques STALE
doivent être actualisées et plus de partitions logiques FRESH
sont prêtes à être utilisées pour les réécritures. Si une table est déjà partitionnée, il est recommandé de créer un LPCT à l'aide d'une colonne différente de la colonne de clé de partitionnement. LPCT offre des avantages similaires à ceux du suivi des modifications du partitionnement (PCT), et les avantages combinés ne sont pas maximisés si le suivi des données est effectué sur la même colonne.
Rubrique parent : Utilisation du suivi des modifications de partition logique
Fraîcheur des vues matérialisées avec Suivi des modifications de partition logique
Le mécanisme de suivi des modifications de partition logique (LPCT) enregistre et consolide automatiquement les statistiques de modification en interne en fonction de la clé de partition logique et de la méthode de partitionnement spécifiées lors de chaque modification de données.
Les données de modification adjacentes sont regroupées dans une partition "logique". Contrairement au PCT (Partitioning Change Tracking), qui est lié aux limites de partition physique, le schéma LPCT offre une flexibilité dans la gestion et le regroupement des modifications de données résultant des opérations LMD appliquées à la table de base.
Pendant les DML classiques et les chargements directs, LPCT adopte le même algorithme que PCT utilise pour suivre l'étroitesse. Lors des réécritures de requête, LPCT adopte le même algorithme que PCT utilise pour calculer le confinement de réécriture.
Lorsqu'une table est partitionnée logiquement à l'aide de plages de clés, une vue matérialisée définie sur la table peut utiliser LPCT pour le suivi de l'ancienneté, l'actualisation et la réécriture d'interrogation, à condition que la vue matérialisée contienne la clé de partition logique.
Tous les types de vue matérialisée sont pris en charge pour LPCT.
Rubrique parent : Utilisation du suivi des modifications de partition logique
Réécriture avec des vues matérialisées à l'aide du suivi des modifications de partition logique
A l'aide du suivi des modifications de partition logique (LPCT), Oracle sait qu'une vue matérialisée est STALE
par rapport à certaines partitions logiques de la table de base, mais FRESH
par rapport à d'autres parties.
Avec les informations de finesse de données plus détaillées des tables de base, la vue matérialisée associée serait utilisée plus fréquemment en raison de la réécriture LPCT.
Oracle identifie et utilise de manière transparente le sous-ensemble FRESH
de vues matérialisées pour la réécriture de requête afin de répondre aux requêtes complexes des tables de base lorsque QUERY_REWRITE_INTEGRITY = ENFORCED |TRUSTED
est utilisé.
Si les lignes de vue matérialisée sont partiellement FRESH
par rapport à ces partitions logiques, une réécriture partielle peut avoir lieu pour répondre partiellement à la requête à l'aide de la vue matérialisée, c'est-à-dire des partitions logiques FRESH
, et partiellement à l'aide de la table de base, c'est-à-dire les partitions logiques STALE
.
Rubrique parent : Utilisation du suivi des modifications de partition logique
Actualisation des vues matérialisées avec Suivi des modifications de partition logique
L'actualisation du suivi des modifications de partition logique (LPCT) peut être implémentée à l'aide d'une granularité des données plus fine pour actualiser de manière incrémentielle les sous-ensembles STALE
d'une vue matérialisée, ce qui élimine l'actualisation complète coûteuse ou l'actualisation rapide basée sur les journaux.
Si l'actualisation LPCT est spécifiée, les partitions logiques STALE
sont identifiées et les opérations d'actualisation ciblées sont effectuées uniquement sur ces partitions logiques.
Pour appeler l'actualisation à l'aide du suivi des modifications de partition logique, indiquez ‘L’
ou ‘l’
("logique") comme méthode d'actualisation.
Par exemple : execute DBMS_MVIEW.REFRESH(<materialized_view_name>,’L’);
Si REFRESH FORCE
est spécifié, une actualisation FAST
est choisie et exécutée si possible, ou bien elle effectue une actualisation COMPLETE
. Lors de l'actualisation de la vue matérialisée FORCE
, l'actualisation LPCT a la même priorité que l'actualisation PCT (Partitioning Change Tracking).
Rubrique parent : Utilisation du suivi des modifications de partition logique
Suivi des modifications de partition logique - Vues du dictionnaire de données
Décrit les vues du dictionnaire de données pour rechercher des informations sur les partitions logiques.
-
ALL_MVIEW_DETAIL_LOGICAL_PARTITION
: cette vue affiche les informations de fraîcheur des vues matérialisées, par rapport à une partition logique de détail LPCT, accessible à l'utilisateur en cours. Pour plus d'informations, reportez-vous à ALL_MVIEW_DETAIL_PARTITION. -
DBA_MVIEW_DETAIL_ LOGICAL_PARTITION
: affiche les informations de fraîcheur pour toutes les vues matérialisées de la base de données, par rapport à une partition logique de détail LPCT. Pour plus d'informations, reportez-vous à DBA_MVIEW_DETAIL_PARTITION. -
USER_MVIEW_DETAIL_ LOGICAL_PARTITION
: affiche les informations de fraîcheur pour toutes les vues matérialisées, par rapport à une partition logique de détail LPCT, détenue par l'utilisateur en cours. Pour plus d'informations, reportez-vous à USER_MVIEW_DETAIL_PARTITION.
Rubrique parent : Utilisation du suivi des modifications de partition logique
Exemple : suivi des modifications de partition logique
Présente les étapes à suivre pour utiliser le suivi des modifications de partition logique (LPCT) à l'aide d'une vue matérialisée contenant des jointures et des agrégats.
- Créez des tables de base avec des partitions de modification logique.
- Créez une vue matérialisée sur les tables avec suivi des modifications de partition logique.
- Observez l'impact des instructions DML sur votre vue matérialisée.
- Tirez parti de LPCT pour l'actualisation incrémentielle.
Rubrique parent : Suivi des modifications de partition logique et vues matérialisées