Chapter 15 Fonctionnalités spécifiques aux SGBD
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.
Pour régénérer des index IQ :
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) |
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.. |
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 |
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. |
![]() |