L'utilisation d'une instruction WHERE dans une procédure peut remplacer un pas DATA avec une instruction IF, évitant ainsi un traitement
DATA step inutile. Cela réduit la quantité d'E/S et de mémoire en éliminant les jeux de données intermédiaires.
Les instructions DROP et KEEP permettent de réduire la taille des observations en incluant uniquement les variables nécessaires, diminuant ainsi les opérations d'E/S.
L'utilisation d'instructions LENGTH permet de réduire la taille des observations en allouant l'espace de stockage nécessaire pour chaque variable, ce qui diminue les opérations d'E/S.
Les options de jeu de données OBS= et FIRSTOBS= réduisent le nombre d'observations traitées, ce qui diminue les opérations d'E/S en créant un jeu de données temporaire avec uniquement les observations requises.
Traiter à plusieurs reprises les mêmes données brutes est plus efficace en créant un jeu de données SAS
©, car SAS
© les traite plus efficacement que les fichiers de données brutes.
Les index, fichiers optionnels créés pour un fichier de données SAS
©, permettent un accès direct aux observations spécifiques. Ils améliorent la performance en localisant plus rapidement les observations par la valeur de la variable indexée, notamment pour le traitement WHERE, BY, et les instructions SET/MODIFY avec l'option KEY=.
Les vues SAS
© (créées via
PROC SQL ou un pas DATA) permettent de sous-ensembler et de regrouper des données de plusieurs jeux de données sans en créer de nouveaux, économisant du temps de traitement et de l'espace disque. Cela réduit les E/S et améliore les performances.
Spécifier explicitement un moteur dans une instruction
LIBNAME (ex:
LIBNAME fruits v9) évite à SAS
© des étapes de traitement supplémentaires pour déterminer le moteur à associer à la bibliothèque SAS
©, ce qui améliore l'efficacité.
Plusieurs options système SAS
© (ALIGNSASIOFILES, BUFNO=, BUFSIZE=, CATCACHE=, COMPRESS=, DATAPAGESIZE=, STRIPESIZE=, UBUFNO=, UBUFSIZE=, VBUFSIZE=) peuvent réduire le nombre d'accès disque nécessaires pour les fichiers SAS
©, bien qu'elles puissent augmenter l'utilisation de la mémoire et la taille des jeux de données.
L'optimisation des performances des vues de pas DATA SAS
© peut être améliorée en spécifiant les options OBSBUF= ou VBUSIZE=, qui réduisent le changement de tâche en définissant la taille du tampon de vue pour contenir davantage d'observations générées.
L'instruction globale SASFILE ouvre un jeu de données SAS
© et alloue suffisamment de tampons pour le contenir entièrement en mémoire, réduisant les opérations d'ouverture/fermeture multiples et les E/S pour les étapes suivantes qui lisent le même jeu de données.
L'utilisation de la procédure DATASETS pour modifier les attributs de variables est plus efficace qu'un pas DATA, car elle ne traite que les informations de descripteur de données, pas le jeu de données entier.
Économisez du stockage et réduisez les opérations d'E/S en définissant des variables comme caractères si aucune opération numérique n'est nécessaire, car SAS
© utilise 8 octets pour les numériques et 1 pour les caractères.