View previous topic :: View next topic
|
Author |
Message |
vasanthz
Global Moderator
Joined: 28 Aug 2007 Posts: 1742 Location: Tirupur, India
|
|
|
|
Hi,
Could you please let me know if there is anyway to reduce the number of subextents in a compressed SAS dataset.
A job processes data and creates a SAS dataset with below attributes,
POINTOBS=YES
Code: |
Attribute ▭Value
Compressed CHAR
Row Length 2705
Deleted Rows 0
Reuse No
Point to Observation Yes
Data Set Page Size 55296
Number of Data Set P 3090
Number of Data Set R 0
Physical Name POINTOBS.YES.DATASET
Release Created 9.0301M1
Release Last Modifie 9.0301M1
Created by WELLS
Last Modified by WELLS
Subextents 619
Total Blocks Used 6180
Percent of Lib Alloc 38.5%
Encoding ebcdic1047 Western (EBCDIC) |
I modified the job and included a dataset option POINTOBS=NO to the step creating the dataset. Now the dataset has the below attributes,
POINTOBS=NO
Code: |
Attribute ▭Value
Compressed CHAR
Row Length 2705
Deleted Rows 0
Reuse No
Point to Observation No
Data Set Page Size 55296
Number of Data Set P 3089
Number of Data Set R 0
Physical Name POINTOBS.NO.DATASET
Release Created 9.0301M1
Release Last Modifie 9.0301M1
Created by WELLS
Last Modified by WELLS
Subextents 1544
Total Blocks Used 6178
Percent of Lib Alloc 38.5%
Encoding ebcdic1047 Western (EBCDIC) |
The dataset with POINTOBS=YES has fewer subextents compared to the POINTOBS=NO.
The job did more EXCPs to the POINTOBS=NO dataset compared to the POINTOBS=YES. Is there any way to control this subextents parameter.
Regards, |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
I did a Google search on sas subextents and found a NESUG '92 paper that has this:
Quote: |
Subextents. Subextents is the number of discontiguous blocks into which the data set is divided. The SAS System attempts to use free space within libraries when data sets are created. If a data set is too large to fit into imbedded free space it is divided into a piece that fits into the embedded free space and a piece (or pieces) that are placed elsewhere. Subextents is a measure of the degree of data set fragmentation within a SAS library. When this number grows for several large, active data sets within a library. the library should be reorganized (PROC COPy) to put the data sets into contiguous allocations. |
So it doesn't sound like the programmer has much control over subextents. You might open an issue with SAS Institute to verify that, though. |
|
Back to top |
|
|
vasanthz
Global Moderator
Joined: 28 Aug 2007 Posts: 1742 Location: Tirupur, India
|
|
|
|
Thank you for your thoughts Robert. I've never opened a case with SAS before. I'll check with our software guys on the process.
I was thinking that POINTOBS=NO would reduce fragmentation since it limits the dataset to sequential access only. But the opposite was observed in our studies. hmmm...
Regards, |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
I can see those results -- without POINTOBS, SAS has to fill the subextents from first to last rather than being able to pick the largest to use next. But then I could be barking up a totally wrong tree since I don't know the internal structure of SAS data sets that well!
Opening a problem with SAS is easy -- support.sas.com/ctx/supportform/createForm is the web site. You fill in the fields -- site ID (customer ID) being probably the most important one -- go to the next screen, and IIRC a confirmation screen requires an OK click. You get back a confirmation email and then (depending on the contact method you selected) an email or phone call. |
|
Back to top |
|
|
vasanthz
Global Moderator
Joined: 28 Aug 2007 Posts: 1742 Location: Tirupur, India
|
|
|
|
Thank you Robert for the directions. I would do that.
Wish you a happy Christmas.
Regards, |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Thanks -- I hope you a Merry Christmas as well! |
|
Back to top |
|
|
|