Chapter Contents |
Previous |
Next |
SAS Companion for the OS/2 Environment |
Improving Performance of the SORT Procedure |
Consider using two options for the PROC SORT statement, the
SORTSIZE= and TAGSORT options. These two options control the amount of memory
that the SORT procedure uses during a sort and are discussed in the next two
sections. For more information about the SORT procedure, see SORT.
If you do not use the SORTSIZE= option, PROC SORT uses the value of
the SORTSIZE system option. The default value of the SORTSIZE system option
is 2 M.
When you sort a SAS data set, the data set is sorted in a temporary utility file that has a file extension of .sasv7butl or .su7 (the shorter file extension is used in libraries that support only three characters in a file extension). If there is not enough memory to hold the utility file during the sort, the utility file is created in the WORK data library. If the sort completes successfully, the utility file is renamed with an extension of .sasv7bdat and the original data set is deleted. This ensures data integrity. Be sure that you have space for the utility file. Use the following rules to determine where the utility file and the resulting sorted data sets are created:
libname mylib 'c:\sas\mydata'; proc sort data=mylib.report; by name; run;
Similarly, if you specify a one-level data set name, the utility file is created in your WORK data library.
proc sort data=report out=newrpt; by name; run; libname january 'f:\jandata'; proc sort data=report out=january.newrpt; by name; run;
Calculating Data Set Size |
To estimate the amount of disk space that is needed for a SAS data set:
For example, for a data set with one character variable and four numeric variables, you would submit the following statements:
data oranges; input variety $ flavor texture looks; total=flavor+texture+looks; datalines; navel 9 8 6 ; proc contents data=oranges; title 'Example for Calculating Data Set Size'; run;
These statements generate the output shown in Example for Calculating Data Set Size with PROC CONTENTS.
Example for Calculating Data Set Size with PROC CONTENTS
Example for Calculating Data Set Size 1 The CONTENTS Procedure Data Set Name: WORK.ORANGES Observations: 1 Member Type: DATA Variables: 5 Engine: V8 Indexes: 0 Created: x:xx Tuesday February 2, xxxx Observation Length: 40 Last Modified: x:xx Tuesday February 2, xxxx Deleted Observations: 0 Protection: Compressed: NO Data Set Type: Sorted: NO Label: -----Engine/Host Dependent Information----- Data Set Page Size: 4096 Number of Data Set Pages: 1 First Data Page: 1 Max Obs per Page: 101 Obs in First Data Page: 1 Number of Data Set Repairs: 0 File Name: E:\SASV8\SASWORK\_TD301\oranges.sas7bdat Release Created: 8.00.00B Host Created: OS2 -----Alphabetic List of Variables and Attributes----- # Variable Type Len Pos ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ 2 flavor Num 8 0 4 looks Num 8 16 3 texture Num 8 8 5 total Num 8 24 1 variety Char 8 32 |
The size of the resulting data set depends on the data set page size and the number of observations. You can use your PROC CONTENTS output and the following formula to estimate the data set size:
number of data pages = 1 + (floor(
Observations /
Max Obs per Page )) | |
size = 256 + (
Data Set Page Size * number of data pages) |
Taking the information that is shown in Example for Calculating Data Set Size with PROC CONTENTS, you can calculate the size of the example data set:
number of data pages = 1 + (floor(1/101)) | |
size = 256 + (4096 * 1) = 4352 |
Thus, the example data set uses 4,352 bytes of storage space.
Increasing the Efficiency of Interactive Processing |
If you are running a SAS job by using the SAS System interactively,
and the job generates numerous log messages or extensive output, consider
using the AUTOSCROLL command to suppress the scrolling of windows. This makes
your job run faster because the SAS System does not have to use resources
to update the display of the Log and Output windows during the job. For example,
issuing the command
autoscroll 0
in the Log window causes the Log window
not to scroll until your job is finished. (For the Output window, AUTOSCROLL
is set to 0 by default.)
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.