|
|
|
|
|
- Présentation
- Définition
- Quand utiliser une vue matérialisée ?
- Créer une vue matérialisée
- Présentation
- Création depuis l'éditeur d'analyses
- Création en utilisant le code SQL
- Utiliser une vue matérialisée
- Présentation
- Droits sur une vue matérialisée
- Modification du contenu d'une vue matérialisée
- Fonctions WLangage permettant de manipuler une vue matérialisée
- Tâche planifiée de rafraîchissement d'une vue matérialisée
- Présentation
- Rafraîchissement planifié d'une vue matérialisée dans le Centre de Contrôle HFSQL
- Création d'une tâche de rafraîchissement d'une vue matérialisée par programmation
- Index sur une vue matérialisée
Vue matérialisée
Disponible uniquement avec ce type de connexion
Définition Une vue matérialisée est une source de données physique définie par une requête SQL. Cette vue matérialisée est créée physiquement sur le serveur HFSQL. Elle peut être manipulée comme un fichier de données HFSQL par les applications qui accèdent à la base de données. L'application peut utiliser ou manipuler une vue matérialisée en utilisant les fonctions classiques de gestion des fichiers de données. Les données manipulées ne sont pas mises à jour automatiquement : il est nécessaire de demander la mise à jour des données. Quand utiliser une vue matérialisée ? L'utilisation d'une vue matérialisée présente plusieurs avantages : - Indépendance vis-à-vis de la structure physique des données :
La vue matérialisée correspond à une couche d'abstraction entre l'organisation des données et l'utilisation des données. Si la structure physique des données évolue, le code de l'application ne change pas. Seule la requête de base de la vue doit être adaptée à la nouvelle structure. - Accélération des traitements
L'utilisation d'une vue matérialisée est intéressante si l'extraction des données de la vue est un processus long et si les données n'ont pas une obligation de temps réel. Par exemple :- statistiques,
- reporting,
- data binding,
- sélections pour mailings,
- ciblages,
- création de fichiers de données "à plat",
- ...
Créer une vue matérialisée Présentation Il existe plusieurs méthodes pour créer une vue matérialisée : - Création de la vue matérialisée depuis l'éditeur d'analyses. Dans ce cas, pour utiliser la vue matérialisée, une mise à jour des données sur le serveur est nécessaire. Cette mise à jour peut être effectuée :
- via la modification automatique des données (effectuée lors de l'installation de l'application par exemple).
- via la fonction HMiseAJourVue.
- Création de la vue matérialisée en utilisant directement le code SQL "CREATE MATERIALIZED VIEW" dans l'application.
Création depuis l'éditeur d'analyses Pour créer une vue matérialisée depuis l'éditeur d'analyses : - Lancez l'assistant de création de vues :
- Dans le ruban, sous le volet "Analyse", dans le groupe "Création", déroulez "Nouveau" et sélectionnez "Vue".
- Sous le volet "Analyse", sélectionnez le dossier "Vues" puis sélectionnez l'option "Nouvelle vue" du menu contextuel.
- Dans l'assistant, sélectionnez "Créer une vue matérialisée" puis passez à l'écran suivant (flèche en bas de l'assistant).
- Indiquez le nom de la vue à créer puis sélectionnez le mode d'édition de la requête de base de la vue :
- Assistant. Dans ce cas, la requête de la vue est créée via l'assistant de création de requêtes. La requête est affichée graphiquement. Il est possible à tout moment de modifier la requête via l'assistant.
- Code SQL. Dans ce cas, vous saisissez directement le code SQL de sélection des éléments sélectionnés par la vue.
- La vue matérialisée est créée. Par défaut, elle n'est pas associée à une connexion. Pour associer la vue à une connexion définie sous l'éditeur d'analyses :
- Sous le volet "Analyse", sélectionnez la vue matérialisée qui vient d'être créée.
- Dans le menu contextuel (clic droit), sélectionnez l'option "Description de la vue".
- Dans la fenêtre qui s'affiche, vous pouvez modifier le nom de la vue matérialisée et spécifier la connexion associée à la vue matérialisée.
- Validez.
- Générez l'analyse pour utiliser la vue matérialisée dans le code de l'application : sous le volet "Analyse", dans le groupe "Analyse", déroulez "Génération" et sélectionnez "Génération".
Remarques : - Une clé ou une clé composée sera créée selon le "ORDER BY" défini.
- Les vues matérialisées ne peuvent pas contenir de paramètres.
Création en utilisant le code SQL Pour créer une vue matérialisée en utilisant du code SQL, il suffit d'utiliser l'instruction CREATE MATERIALIZED VIEW dans le code SQL de la requête. Par exemple :
Req_Vue est une Source de Données
MonCodeVueMatérialisée est une chaîne
MonCodeVueMatérialisée = [
Create materialized view Vue_Client
AS SELECT * FROM Client
]
HExécuteRequêteSQL(Req_Vue, ConnexionHFSQL, MonCodeVueMatérialisée)
Attention : Le code SQL de création de la vue matérialisée doit faire référence uniquement aux rubriques et aux fichiers de données définis dans l'analyse. Par exemple, il n'est pas possible d'utiliser dans ce code des références à des requêtes stockées. Utiliser une vue matérialisée Présentation Pour utiliser une vue matérialisée, il suffit d'utiliser les fonctions HFSQL d'accès aux fichiers de données. Le paramètre <Nom du fichier> correspondra au nom de la vue matérialisée. Comme un fichier de données classique, une vue matérialisée peut être : - parcourue par les fonctions HFSQL (POUR TOUT, HLit*, ...),
- associée à un champ (champ Table, Liste, ...).
Remarque : Si la vue matérialisée n'a pas été créée sous l'éditeur d'analyses, il est nécessaire d'utiliser la fonction HDéclareExterne avant de la manipuler. Droits sur une vue matérialisée Une vue matérialisée correspond à un fichier de données. La gestion des droits se fait comme pour les fichiers de données. Ces droits peuvent être paramétrés : Remarque : La fonction HInfoDroitVue permet de connaître les droits actuels sur la vue matérialisée. Modification du contenu d'une vue matérialisée Le contenu d'une vue matérialisée est mis à jour : Fonctions WLangage permettant de manipuler une vue matérialisée Les fonctions WLangage permettant de manipuler les vues matérialisées sont les suivantes :
| | HInfoVue | Renvoie des informations sur une vue matérialisée. | HMiseAJourVue | Crée ou met à jour la description d'une vue SQL ou d'une vue matérialisée depuis l'analyse vers un serveur HFSQL. | HRafraîchitVue | Demande le recalcul du contenu d'une vue matérialisée. |
Tâche planifiée de rafraîchissement d'une vue matérialisée Présentation Pour rafraîchir le contenu d'une vue matérialisée, il est possible de créer une tâche planifiée de rafraîchissement d'une vue matérialisée. Cette tâche planifiée de rafraîchissement d'une vue matérialisée peut être créée et manipulée : - via le Centre de contrôle HFSQL.
- par programmation.
Rafraîchissement planifié d'une vue matérialisée dans le Centre de Contrôle HFSQL Dans le Centre de Contrôle HFSQL, les tâches de rafraîchissement d'une vue matérialisée peuvent être définies au niveau du serveur ou de la base de données. Pour créer une tâche de rafraîchissement : - Connectez-vous si nécessaire à un serveur HFSQL et affichez la description du serveur ou d'une de ses bases (double-clic sur le nom du serveur ou de la base dans l'arborescence).
- Cliquez sur l'onglet "Eléments planifiés".
- Dans le ruban, dans le groupe "Eléments planifiés", déroulez "Nouvelle planification" et sélectionnez "Planifier un rafraîchissement de vue matérialisée". L'assistant de création d'une tâche planifiée de rafraîchissement de vue matérialisée se lance.
- Sélectionnez les vues matérialisées à optimiser :
- Toutes les vues d'une base de données,
- Une sélection de vues d'une base de données.
- Définissez la fréquence de la tâche : mois, jour, heure.
- Donnez une description à votre tâche planifiée et validez l'assistant.
- La tâche de rafraîchissement planifiée apparaît dans l'onglet "Eléments planifiés" du Centre de Contrôle HFSQL.
Il est possible de supprimer, exécuter ou modifier la tâche de rafraîchissement planifiée. Pour modifier une tâche de rafraîchissement planifiée : - Connectez-vous si nécessaire à un serveur HFSQL et affichez l'onglet du serveur ou de la base de données voulu.
- Cliquez sur l'onglet "Eléments planifiés".
- Sélectionnez la tâche de rafraîchissement de vue matérialisée à modifier.
- Dans le ruban, dans le groupe "Eléments planifiés", cliquez sur "Editer".
Vous pouvez également utiliser le menu contextuel de l'élément planifié (option "Editer"). - Une fenêtre de description de l'élément planifié apparaît. Toutes les caractéristiques sont regroupées sur plusieurs onglets :
- Onglet "Général" : Définit si la tâche de rafraîchissement de la vue est active.
- Onglet "Planification" : Définit les options d'exécution de l'optimisation planifiée (mois, jour, heure).
Nouveauté 2025Onglet "Historique des exécutions" : Cet onglet apparaît lorsque l'optimisation planifiée a été exécutée automatiquement. Cet onglet liste les différentes exécutions automatiques de la tâche planifiée, en indiquant : - la date de début de l'optimisation,
- l'état de l'optimisation : terminée, en cours, en erreur,
- la durée d'exécution,
- l'utilisateur qui a lancé l'optimisation,
- si le lancement a été fait manuellement (lancement via la fonction HExécutePlanification).
- Validez.
Création d'une tâche de rafraîchissement d'une vue matérialisée par programmation La création d'une tâche de rafraîchissement d'une vue matérialisée par programmation est réalisée grâce à une variable de type hPlanificationVueMatérialisée. Pour créer une tâche de rafraîchissement d'une vue matérialisée : - Créez une variable de type hPlanificationVueMatérialisée et décrivez ses différentes caractéristiques.
- Ajoutez l'optimisation planifiée grâce à la fonction HAjoutePlanification.
Cette tâche peut ensuite être manipulée grâce aux fonctions suivantes : | | HAjoutePlanification | Ajoute un nouvel élément planifié sur un serveur HFSQL : tâche planifiée (procédure stockée), sauvegarde, optimisation ou rafraîchissement d'une vue matérialisée. | HExécutePlanification | Exécute immédiatement un élément planifié sans tenir compte de sa planification : tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | HModifiePlanification | Modifie un élément planifié sur un serveur HFSQL : tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | HSupprimePlanification | Supprime un élément planifié sur un serveur HFSQL : tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. |
Nouveauté 2025Un historique des exécutions est automatiquement enregistré lors de l'exécution automatique de la tâche de rafraîchissement (ou lors de son exécution via la fonction HExécutePlanification). Il est possible de manipuler cet historique : - via le Centre de Contrôle HFSQL. Lorsque la tâche planifiée a été exécutée, l'onglet "Historique des exécutions" est disponible dans la fenêtre de description de l'élément planifié. Cet onglet permet de visualiser toutes les caractéristiques des exécutions de l'élément planifié.
- par programmation, via les fonctions suivantes :
| | | Liste l'historique d'exécution d'une opération planifiée sur un serveur HFSQL : tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | | Supprime l'historique d'exécution d'un élément planifié sur un serveur HFSQL : tâche planifiée (procédure stockée), sauvegarde, optimisation, rafraîchissement d'une vue matérialisée. | | Purge la totalité de l'historique d'exécution des éléments planifiés sur un serveur HFSQL. |
Index sur une vue matérialisée Il est possible de créer un index sur une vue matérialisée à l'aide de l'instruction CREATE INDEX. Si la vue matérialisée est rafraîchie, les index sont mis à jour automatiquement : il n'est pas nécessaire de recréer les index.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|