Date: Tue, 24 Mar 2009 10:12:36 -0500
Reply-To: Mary <firstname.lastname@example.org>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Mary <mlhoward@AVALON.NET>
Subject: Re: Reducing production time
Content-Type: text/plain; format=flowed; charset="iso-8859-1";
It would be nice to reduce the number of connections but
that probably isn't the substantial amount of time.
Could you run all the pulls of the data in one connection?
That might help.
Also, are you subsetting or otherwise joining the data
from SQL Server? If so, consider pass-through SQL,
where you create a table or view of the data with the results
that you want in SQL Server, then just do a straight pull
of the result table into SAS rather than using SAS SQL
to do the manipulations. If you've got a SQL Server
client on your desktop, then you could try doing the query
there first to get the code down and how long it takes,
then do that same code in an Execute statement in Pass-through
The number of trips back and forth is very important, thus
try to minimize the number of trips. Pass-through SQL
would do everything on the database server where SQL
server is located, so that might be faster than SAS SQL.
Also, if you are appending data back, use proc append
or insert statements to send your data back.
If you show us some code we could take a look at the
specific code to see if we could make it go faster.
----- Original Message -----
From: "murugesh" <iammurugesh@GMAIL.COM>
Sent: Tuesday, March 24, 2009 9:53 AM
Subject: Reducing production time
> Hi All,
> I am running more than 25 sas programs (using #include) in one sas
> session. The maximum programs are pulling data from Sql Server
> database, Each programs making new connection to database and pulling
> the data.
> The SAS batch was running more than 6 Hours per day.
> I want to optimize the code and need to reduce the running time,
> Could you please let me know optimization methods which is helpful to
> reduce the running time.
> Murugesan P