BookmarkSubscribeRSS Feed
emsmpa
Calcite | Level 5

Hi,


we are trying to increase the bufsize for newly created tables.

Please see the following example. The system value is set to it's maximum of almost 2G:


proc sql;

create table test1 (bufsize = max)

(

DATE num format=YYMMDD10. informat=YYMMDD10.,

TEST_KEY char(20) format=$20.,

AMOUNT num format=8.2 length=6

  );

describe table test1;

quit;

This creates the following output:

NOTE: SQL table WORK.TEST1 was created like:

create table WORK.TEST1( bufsize=2630656 )

  (

   DATE num format=YYMMDD10. informat=YYMMDD10.,

   TEST_KEY char(20) format=$20.,

   AMOUNT num format=8.2

  );

Where does this value of ~ 2MB come from? When we increase the amount of test data, this value is going up to ~8MB, but not more.

This is causing us I/O problems.


My questions are:


1. How does SAS create the bufsize value of ~2MB?

2. How can i force it to use a bigger value of e.g. 1GB?


Thanks in advance!

1 REPLY 1
snoopy369
Barite | Level 11

I get the same effective maximum (~2.5MB).  I do get a warning, saying that my maximum (2g) is higher than the allowable limit (around 1g).  Do you get the same?  That's with a memsize of 6g, which doesn't surprise me - from other evidence I can see that SQL uses around 5x as much space (1g * 5) as it needs.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 4110 views
  • 0 likes
  • 2 in conversation