This post was kindly contributed by The SAS Dummy - go there to comment and to read the full post. |
The DELETE procedure is probably the most well-known and most-used SAS procedure that isn’t actually documented or officially supported. That is, that was the case before the release of SAS 9.4, when PROC DELETE returns with more features than ever — including a production-quality status.
In his SAS Global Forum paper, Optimize Your Delete, SAS developer Brad Richardson describes PROC DELETE’s new lease on life, and how it can actually do a better/faster job of cleaning up your SAS data libraries.
Read the paper for the details, but conceptually PROC DELETE is the “Dirty Harry” of SAS utility procs. It shoots first and asks questions later, which makes it super fast. From Brad’s paper:
… unlike PROC DATASETS, PROC DELETE does not check to see if the selected data set actually exists before trying to remove the file. Only after the attempt to erase the file will PROC DELETE know whether the data set actually existed, because there is no overhead to get the member names from disk…
Many people will never know about PROC DELETE’s near-death experience. Even though it’s been lurking within Base SAS for decades, PROC DELETE could not be allowed to continue as-is. SAS software and infrastructure has evolved considerably to take advantage of new hardware and operating system capabilities. Even established SAS procedures and functions must be refreshed continuously to keeping them humming along. If a feature in the software becomes disused (especially something that is undocumented/unsupported), developers have to decide whether to invest the time to refresh it and test it, or “put it down” to prevent unstable behavior.
Fortunately for legacy SAS programs everywhere, PROC DELETE will live to see another day — and another generation of SAS programmers.
This post was kindly contributed by The SAS Dummy - go there to comment and to read the full post. |