Régénération des index IQ

Lorsque vous construisez un nouveau MPD ou modifiez un MPD existant, vous pouvez être amené à changer les types de données, modifier le pourcentage de valeurs distinctes ou bien changer le nombre de valeurs dans les tables. Vous devez ensuite régénérer les index IQ pour qu'ils prennent en compte ces modifications.

Lorsque vous régénérez les index, PowerAMC détermine le type d'index en fonction des informations contenues dans les statistiques de la table. Il utilise le champ qui indique le nombre d'enregistrements estimé pour la table, ainsi que le pourcentage de valeurs distinctes, afin de calculer le nombre de valeurs uniques. Si l'utilisateur n'a pas spécifié de nombre de lignes pour la table, PowerAMC présume que la table va inclure au moins une ligne de données.

Le processus de régénération crée le plus souvent des index de type FASTPROJECTION pour les colonnes. Dans le cas contraire, ce sont les règles suivantes qui prévalent :

Critère

Type d'index

Si aucune statistique n'est fournie et que la colonne a un type de données indéfini

Aucun index n'est créé

Faible quantité de valeurs uniques dans une colonne

Colonne utilisée dans un prédicat de jointure

LOWFAST

Grande quantité de valeurs uniques dans une colonne

Aucune requête COUNT DISTINCT, SELECT DISTINCT ou GROUP BY requise

HIGHNONGROUP

Colonne utilisée dans un prédicat de jointure

Grande quantité de valeurs uniques dans une colonne (plus de 1000)

Anticipe des requêtes COUNT DISTINCT, SELECT DISTINCT ou GROUP BY

La colonne doit imposer l'unicité

HIGHGROUP

Colonne sans type de données numérique

Aucun index n'est créé

Colonne contenant des données de type date

DATE

Colonne contenant des données de type time

TIME

Colonne contenant des données de type datetime ou smalldatetime

DTTM

Exemple, dans IQ v12.5, la table A contient 1500 lignes

Colonne

% de valeurs distinctes

Valeurs uniques

La régénération d'index génère

Col_1 integer

100

1500

Index HG

Col_2 integer

50

750

Index LF

Col_3 integer

0

0

Aucun index

Col_4 char (10)

100

1500

Aucun index

Col_5 char (10)

50

750

Index LF

  1. Sélectionnez Outils > Régénérer des objets > Régénérer les index pour afficher la boîte de dialogue Régénération des index.


  2. Sélectionnez un nom par défaut pour générer des index IQ. Vous pouvez utiliser trois types de variables suivants pour définir le nom par défaut des index :
    • %COLUMN% - Nom de la colonne

    • %INDEXTYPE% - Type d'index à régénérer

    • %TABLE% - Nom ou code de la table (selon les préférences d'affichage définies)

  3. Spécifiez le mode à utiliser. Vous pouvez choisir l'un des modes suivants :
    • Supprimer et régénérer - Tous les index existants sont supprimés avant d'être régénérés

    • Préserver les index - Lorsque cette option est sélectionnée, les index existants sont préservés

  4. [facultatif] Sélectionnez l'option Inclure les index HNG et DATE/TIME afin de permettre la création de ces index spécialisés pour les colonnes appropriées. Si vous ne sélectionnez pas cette option, seuls les index HG et LF seront créés.
  5. [facultatif] Sélectionnez l'option Mettre à jour la statistiques avant de régénérer afin de mettre à jour ces statistiques comme le nombre des enregistrements dans une table et le nombre de valeurs distinctes dans une colonne avant de régénérer. Le fait de sélectionner cette option peut vous aider à optimiser la régénération.
  6. [facultatif] Cliquez sur l'onglet Sélection, puis sélectionnez une ou plusieurs tables dans la liste.
  7. Cliquez sur OK, puis sur Oui pour confirmer la régénération des index.