Réglage des performances grâce aux colonnes exclues

Il est plutôt fréquent que les analyses contiennent des colonnes inutilisées. Les colonnes qui ne sont pas requises mais qui sont tout de même sélectionnées ont une incidence significative sur les performances. L'un des moyens simples d'améliorer les performances consiste à enlever toutes les colonnes qui ne sont pas requises.

Identification des colonnes inutilisées

Lorsque vous incluez dans l'analyse des colonnes exclues de la vue (dans cet exemple, Year), cela affecte les performances :
  • Augmentation du volume de données à extraire de la base de données
  • Augmentation du nombre de colonnes à extraire et à traiter
  • Analyse forcée pour calculer les résultats à plusieurs niveaux d'agrégation

La description de GUID-8C5CB0DE-417C-45A7-8410-FEC11E2FEDC7-default.jpg est la suivante
.jpg

Par exemple, ce rapport simple indique le nombre de clients par région et par année.

La description de GUID-39B953E5-433E-4991-B3BA-BB1064CE8D83-default.jpg est la suivante
.jpg

Le rapport affiché est un graphique indiquant le nombre de clients par région. Vous pouvez constater que la colonne Year est exclue.

La description de GUID-CFF82673-4988-4185-915E-0F1AA5027E42-default.jpg est la suivante
.jpg

Requête logique avec la colonne Year inutilisée

Même si la colonne Year n'apparaît pas dans la vue, elle est tout de même sélectionnée dans le cadre de la requête logique.

La description de GUID-104759F4-A6F4-4366-ACD6-472BA2931E18-default.jpg est la suivante
.jpg

L'inclusion de la colonne Year dans l'analyse a les conséquences suivantes :
  • Des colonnes supplémentaires sont extraites et traitées.
  • Des lignes supplémentaires sont extraites et traitées car le nombre de lignes client est sélectionné non seulement par région mais également par année.
  • Une agrégation supplémentaire est requise.

Requête physique avec la colonne Year inutilisée

Si vous examinez la requête physique, vous pouvez identifier les zones qui ont une incidence sur les performances.

La description de GUID-D9F85168-B448-49BE-9261-78270C01784C-default.jpg est la suivante
.jpg

Cet exemple présente une requête SELECT count distinct de la règle d'agrégation de nombre de clients. Dans certaines situations, la requête a également une incidence sur les rapports avec une règle d'agrégation de somme. La requête générée dans ce scénario utilise aussi un ensemble de regroupement. Au niveau de la base de données, il se peut qu'elle doive sélectionner de nombreuses lignes (des millions), puis procéder à un regroupement par année et par région, ainsi que par région. Cela peut entraîner une consommation de ressources de base de données inutiles en quantité significative.

Suppression des colonnes inutilisées

Enlevons la colonne Year, et analysons l'incidence de cette action sur les requêtes logique et physique générées.

La description de GUID-DE47CCCB-7F6E-481D-8618-6F58B22807C5-default.jpg est la suivante
.jpg

Requête logique après suppression de la colonne Year

A présent, la requête logique ne contient plus la colonne Year et, plus important encore, l'agrégation de rapport est enlevée.

La description de GUID-A28E8FC3-37ED-4350-866C-A9BC58356833-default.jpg est la suivante
.jpg

Requête physique après suppression de la colonne Year

La requête physique est bien plus simple maintenant qu'elle n'inclut plus les ensembles de regroupement. De plus, le nombre d'enregistrements sélectionnés est considérablement réduit.

La description de GUID-96421968-C978-4383-853C-EAACB0079CEB-default.jpg est la suivante
.jpg

En examinant l'analyse des rapports non performants et en commençant simplement par enlever les colonnes inutilisées redondantes, vous pouvez améliorer significativement les performances. La requête physique générée a perdu en complexité et moins d'enregistrements sont renvoyés, ce qui requiert moins de traitement.