index
Description
L'action `table.indexStructure de données accélérant la lecture des lignes d'une table en ciblant directement les valeurs des colonnes indexées, réduisant ainsi les entrées/sorties disque et le temps de traitement.` permet de créer des indexStructure de données accélérant la lecture des lignes d'une table en ciblant directement les valeurs des colonnes indexées, réduisant ainsi les entrées/sorties disque et le temps de traitement. sur une ou plusieurs colonnes (variables) d'une table en mémoire. Un indexStructure de données accélérant la lecture des lignes d'une table en ciblant directement les valeurs des colonnes indexées, réduisant ainsi les entrées/sorties disque et le temps de traitement. agit exactement comme l'indexStructure de données accélérant la lecture des lignes d'une table en ciblant directement les valeurs des colonnes indexées, réduisant ainsi les entrées/sorties disque et le temps de traitement. à la fin d'un livre : il évite au moteur CAS de lire toutes les lignes de la table pour trouver une information précise ! Cela accélère drastiquement les requêtes, filtres (WHERE) et jointures, en contrepartie d'une légère utilisation supplémentaire de la mémoire.
Paramètres Clés
Préparation des données
Création d'une table d'exemple
Nous allons charger la table classique SASHELP.CARS dans notre session CAS (casuser) afin de pouvoir l'indexer dans nos exemples.
| 1 | PROC CASUTIL; |
| 2 | load DATA=sashelp.cars casout="cars" outcaslib="casuser" replace; |
| 3 | QUIT; |
Exemples d'utilisation
Indexation simple d'une colonne
Création d'une nouvelle table en mémoire avec un index basique sur la colonne `Make` (la marque du véhicule).
| 1 | PROC CAS; |
| 2 | TABLE.index / |
| 3 | TABLE={name="cars", caslib="casuser"} |
| 4 | casout={name="cars_idx", caslib="casuser", indexVars={"Make"}, replace=True}; |
| 5 | RUN; |
| 6 | QUIT; |
Résultat Attendu :
Indexation multiple avec compression et promotion
Dans un contexte de production, on indexe souvent plusieurs colonnes clés. Ici, nous indexons `Make`, `Model` et `Origin`, tout en compressant la table résultante et en la promouvant (pour la rendre globale et persistante entre les sessions).
| 1 | PROC CAS; |
| 2 | TABLE.index / |
| 3 | TABLE={name="cars", caslib="casuser"} |
| 4 | casout={name="cars_advanced_idx", caslib="casuser", indexVars={"Make", "Model", "Origin"}, compress=True, promote=True, replace=True}; |
| 5 | RUN; |
| 6 | QUIT; |
Résultat Attendu :