Chapter 15 Fonctionnalités spécifiques aux SGBD


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.

Steps Pour régénérer des index IQ :

  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 :
    Variable Description
    %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 :
    Mode Description
    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] Cochez la case Mettre à jour les statistiques avant de régénérer pour mettre à jour les statistiques telles que le nombre d'enregistrements dans une table et le nombre de valeurs distinctes dans une colonne avant de procéder à la régénération. Le fait de sélectionner cette option peut vous aider à optimiser la régénération.
  5. [facultatif] Cliquez sur l'onglet Sélection, puis sélectionnez une ou plusieurs tables dans la liste.

    Le nom peut inclure les définitions de colonne, de table et d'index.
  6. Cliquez sur OK.

    Une boîte de confirmation vous demande si vous souhaitez continuer.
  7. Cliquez sur Oui.

    Les index IQ sont régénérés.

Types d'index

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
Faible 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 Adaptive Server IQ 12.5

La table A contient 1500 lignes

Colonne % de valeurs distinctes Valeurs uniques
Col_1 integer 100 1500
Col_2 integer 50 750
Col_3 integer 0 0
Col_4 char (10) 100 1500
Col_5 char (10) 50 750

La régénération des index génère les index suivants :

Col_1 = index HG

Col_2 = index LF

Col_3 = pas d'index

Col_4 = pas d'index

Col_5 = index LF

 


Copyright (C) 2006. Sybase Inc. All rights reserved.