L'assistant d'organisation de table pour la charge de travail recommande de convertir
les tables organisées en lignes en tables organisées en colonnes.
Pourquoi et quand exécuter cette tâche
L'assistant examine toutes les tables référencées
par les instructions présentes dans une charge de travail de requête. Ses recommandations
donnent lieu à la meilleure amélioration estimée des performances pour l'ensemble de la charge de travail
de requête.
L'assistant présente ses analyses et justifications
afin que vous puissiez voir les tables recommandées pour la conversion,
ainsi que celles qui ne le sont pas. Vous pouvez voir les cardinalités
des tables, le nombre d'instructions dans la charge de travail de requête qui les
référencent, le coût cumulé de l'exécution des instructions qui référencent
une table, les instructions elles-mêmes, etc.
Vous pouvez également afficher
et sauvegarder le DDL pour implémenter les changements nécessaires à la
conversion des tables.
Conseil : Exécutez cet assistant uniquement après
avoir trouvé que les recommandations de l'assistant de statistiques de charge de travail,
l'assistant d'index de charge de travail, ou les deux, n'amélioraient pas suffisamment les performances.
Il se peut que vous puissiez atteindre les performances requises pour la charge de travail
de requête en regroupant les statistiques, en créant ou en modifiant les index, ou
les deux. De plus, l'assistant d'organisation de table pour la charge de travail s'appuie sur
des statistiques correctes lorsqu'il génère ses recommandations.
Pour générer et exécuter des recommandations pour convertir
les tables en tables organisées en colonnes :
Résultats
Cette section affiche les tables qui
sont et qui ne sont pas recommandées pour la migration vers les tables organisées en colonnes.
En haut de la section se trouve une estimation de l'amélioration
des performances de la totalité de la charge de travail de requête.
L'assistant calcule l'amélioration
estimée des performances en procédant comme suit : - Supposez que toutes les conversions de tables recommandées sont effectuées
et que les index sur ces tables sont supprimés.
- Calculez le produit des deux valeurs suivantes pour chaque instruction
dans une charge de travail de requête : nombre d'exécutions * coût de l'instruction.
- Additionnez les produits.
Ces colonnes sont affichées dans la table
en haut de cette section :
- Table
- Nom d'une table organisée en lignes qui est recommandée pour
la conversion en table organisée en colonnes ou qui l'est pour rester telle quelle.
- Créateur
- Créateur de la table.
- Organisation
- Indique si la table est actuellement organisée en lignes ou en colonnes.
- Organisation recommandée
- Indique si la table est recommandée pour la conversion en table organisée en colonnes ou si elle l'est pour rester telle quelle.
- Avertissement
- Pour les tables recommandées pour la conversion, décrit les changements
qui peuvent se produire suite à celle-ci.
- Les index seront supprimés.
- Les index ne sont pas autorisés dans les tables organisées en colonnes.
- Le partitionnement de données sera perdu.
- Vous pouvez restaurer le partitionnement de données uniquement si vous reconvertissez la
table en table organisée en lignes.
- Les contraintes ENFORCED RI seront remplacées par NOT ENFORCED.
- Il sera possible pour les données erratiques d'être insérées dans la table.
- Les contraintes ENFORCED CHECK seront remplacées par NOT ENFORCED.
- Il sera possible pour les données erratiques d'être insérées dans la table.
- L'espace table sera changé.
- Après la conversion, la table se trouvera dans l'espace table
spécifié dans les préférences pour l'assistant d'organisation de table pour la charge de
travail, ou dans un espace table que l'assistant a sélectionné. Vous pouvez modifier
le script de conversion pour utiliser un autre espace table.
- Les tables de requêtes matérialisées seront supprimées.
- Même après la suppression des tables de requêtes matérialisées, les instructions SQL pourront
accéder aux données de la table plus rapidement.
- Cardinalité
- Nombre de lignes présentes dans la table.
- Références à la table
- Nombre de fois où les instructions SQL qui figurent dans la charge de travail
de requête référencent la table.
- Coût total cumulé
- Somme des coûts liés aux unités centrales en timerons de chaque accès aux données de
la table par les instructions SQL qui figurent dans la charge de travail de requête.
- Instructions affectées
- Nombre d'instructions SQL dans la charge de travail de requête qui référence
la table.
- Constatation
- Explique pourquoi la table est ou n'est pas recommandée pour la conversion.
- La table est déjà organisée en colonne.
- Aucune conversion n'est nécessaire.
- La conversion n'améliorera pas les performances.
- Les performances de la charge de travail de requête ne s'amélioreront pas si la
table a été convertie en table organisée en colonnes.
- La conversion améliorera les performances.
- Les performances de la charge de travail de requête s'amélioreront si la table
a été convertie en table organisée en colonnes.
- Les restrictions des tables organisées en colonnes n'autoriseront pas la conversion.
- Les types de tables suivants ne peuvent pas être convertis en tables organisées
en colonnes : table de requêtes matérialisée, table temporaire globale déclarée, table temporaire globale
créée.
Il existe également d'autres restrictions. Par exemple, les tables avec
des colonnes LOB ne peuvent pas être converties, ni les tables utilisées dans les instructions
MERGE ou dans les instructions qui déclarent des curseurs. Pour obtenir l'ensemble complet
de restrictions, voir la documentation pour DB2 10.5 for Linux, UNIX,
and Windows ou versions ultérieures.
- Les statistiques manquantes n'autorisent pas la conversion.
- La table manque de statistiques ; la conversion ne peut donc pas être effectuée
de manière fiable. Exécutez l'assistant de statistiques de charge de travail pour collecter des statistiques
pour la charge de travail de requête, exécutez les instructions RUNSTATS que recommande
l'assistant, puis réexécutez l'assistant d'organisation de table pour la charge de travail.
Ces colonnes apparaissent dans la table Instructions
SQL affectées. La table répertorie toutes les instructions SQL
dans la charge de travail de requête susceptibles d'être affectées par la conversion des
tables répertoriées en table organisées en colonnes.
- Nombre d'exécutions
- Nombre de fois où l'instruction SQL est exécutée dans la charge de travail
de requête.
- Poids
- Poids relatif de l'instruction dans la charge de travail de requête. La
valeur est calculée en multipliant la valeur présente dans la colonne Coût
Avant par le nombre d'exécutions, puis en divisant
le produit obtenu par la valeur totale "Coût Avant" pour la charge de travail de requête.
- Gain de performances estimé
- Augmentation estimée des performances de l'instruction qui
accède à la table sélectionnée, si la recommandation pour la conversion
est implémentée.
- Par exemple, un gain de performances estimé de 90,61 % signifie qu'une
réduction du temps UC de 90,61 % est requise pour que l'instruction accède à la table
sélectionnée.
- Coût Avant
- Coût de l'instruction en timerons avant la conversion de
la table référencée en table organisée en colonnes.
- Coût Après
- Coût de l'instruction en timerons après la conversion de
la table référencée en table organisée en colonnes.
- Instruction SQL
- Texte de l'instruction. Pour voir le texte complet de l'instruction,
cliquez avec le bouton droit de la souris sur la ligne et sélectionnez Afficher l'instruction SQL.
Que faire ensuite
Evaluez les améliorations estimées des performances de
la charge de travail de requête pour déterminer si elles peuvent vous aider à satisfaire
à vos exigences de performances. Si vous décidez de suivre les recommandations,
assurez-vous que votre base de données est sauvegardée avant d'exécuter le script que
l'assistant a généré. De plus, gardez à l'esprit que les contraintes d'intégrité référentielle
sur les tables seront supprimées au cours de la conversion en tables organisées en colonnes.