03-18-2013 08:40 AM
I create a dataset named T with an index date,
do i=1 to 1000000;
format date yymmdd10.;
The following two pieces of codes are to delete obs efficiently using indexes, but after submitting, I find the size of physicial file of table T don't change(perhaps called logically delete).
The reason why I use the following is that they do not create a new copy of the data set and delete indexes, save time of re-creating, but if logically delete, the table size will become bigger an bigger, and the IO time will increase rapidly.
How to balance?
if date<='01feb3050'd then remove t;
delete from t where date<='01feb3050'd;
03-18-2013 08:59 AM
Yes, the deletes as logical.
If you wish to save space, use the REUSE= data set option (only valid with COMPRESS=YES for some reason...?).
Be aware that the table can be fragmented and less efficient for querying.