Scénario de test & Cas d'usage
Laden, Speichern und Verwalten von Tabellen im Arbeitsspeicher.
Entdecken Sie alle Aktionen von tableErstellt eine große und breite Tabelle 'TRANSAKTIONEN_VOLL' mit 1 Million Zeilen und vielen Füllspalten, um ein Performance-Szenario zu simulieren.
| 1 | DATA casuser.TRANSAKTIONEN_VOLL; |
| 2 | array fillers{45} filler1-filler45; |
| 3 | DO i = 1 to 1000000; |
| 4 | TransID = uuidgen(); |
| 5 | Zeitstempel = datetime(); |
| 6 | Betrag = rand('UNIFORM') * 10000; |
| 7 | STATUS = ceil(rand('UNIFORM') * 3); |
| 8 | DO j = 1 to 45; |
| 9 | fillers{j} = rand('NORMAL'); |
| 10 | END; |
| 11 | OUTPUT; |
| 12 | END; |
| 13 | keep TransID Zeitstempel Betrag STATUS filler:; |
| 14 | RUN; |
| 1 | PROC CAS; |
| 2 | TABLE.loadTable / |
| 3 | caslib='CASUSER' |
| 4 | path='TRANSAKTIONEN_VOLL.sashdat' |
| 5 | casOut={name='transaktionen_breit', replace=true}; |
| 6 | RUN; |
| 1 | PROC CAS; |
| 2 | TABLE.alterTable / |
| 3 | name='transaktionen_breit' |
| 4 | rename='RISIKO_ANALYSE_TEMP' |
| 5 | keep={'TransID', 'Zeitstempel', 'Betrag', 'Status'} |
| 6 | columnOrder={'TransID', 'Zeitstempel', 'Betrag', 'Status'} |
| 7 | lifetime=600; |
| 8 | RUN; |
| 9 | |
| 10 | TABLE.tableInfo / caslib='casuser', name='RISIKO_ANALYSE_TEMP'; |
| 11 | TABLE.columnInfo / TABLE='RISIKO_ANALYSE_TEMP'; |
| 12 | RUN; QUIT; |
Eine neue, viel schlankere Tabelle 'RISIKO_ANALYSE_TEMP' wird erstellt. Sie enthält nur die vier im `keep`-Parameter angegebenen Spalten. Die Spaltenreihenfolge entspricht der in `columnOrder` festgelegten. Die Metadaten der Tabelle zeigen eine 'lifetime' von 600 Sekunden an, was bedeutet, dass sie 10 Minuten nach dem letzten Zugriff automatisch aus dem Speicher entfernt wird, um Ressourcen freizugeben.