Also mittlerweile sind wir im Jahr 2016 und es bieten sich für große Datenmengen auch noch weitere Datenverarbeitungslösungen an:
- Abfrage an die Datenbank auslagern
- SAS Code innerhalb der Datenbank ausführen
Darüber hinaus gibt es auch mit SAS Foundation die Möglichkeit mit PROC DS2 die Datenverarbeitung zu parallelisieren.
Wenn die Performance durch die Festplatte ausgebremst wird, bietet es sich auch an auf Produkte wie den SAS SPD Server zu setzen oder die Hardware auf SSD Laufwerke für den SAS WORK Bereich aufzurüsten.
Wie immer sind die Möglichkeiten vielfältig und ohne den konkreten Usecase ist eine Diskussion aus meiner Sicht sinnlos.
Man sollte die Verarbeitungsform (Data Step, SQL, DS2) verwenden, die einem am ehesten liegt und erst bei Performanceproblemen anfangen zu optimieren und Alternativen auszuloten.
Mein Favorit für normale Datenmengen bleibt SQL, da der Quellcode hierdurch wesentlich kompakter wird und man nicht eine ganze Bildschrimseite lesen muss, um einen Join zwischen zwei Tabellen zu sehen und dabei immer wieder die Frage im Raum steht, ob das MERGE Statement evtl. falsche Daten erzeugt, wenn die IDs für den Merge in beiden Tabellen mehrfach vorhanden sind.