Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Just using a SELECT statement instead of running query
Message
From
26/06/2011 05:53:24
Walter Meester
HoogkarspelNetherlands
 
 
To
24/06/2011 15:48:42
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01515946
Message ID:
01516111
Views:
110
Craig,

SPs are not precompiled. It will cache the executionplan, which eliminates gathering that upon next execution. This used to be a great deal in the past when computers were slower. Nowadays it is hardly a valid argument, also because parameterized SPT also caches the execution plan. BTW, chached executionplans can be both a curse and a blessing. If the selectivity of your parameter changes a cached executionplan can become very innefficient. Therefore I personally would execute them with the RECOMPILE option.

Therefore the argument of performance really is one of the past.



>Hi James,
>
>Let's start with some definitons. A SELECT *is* a query. What you are asking is, "Just using a SELECT statement instead of calling a Stored Procedure"
>
>In theory, a Stored Procedure will be precompiled and run faster than issuing a SELECT statement. If you're going to run it over and over, you may notice a difference. If run on ocassion, it really won't matter much for a query as simple as the one you have.
>
>
>>I have code that logs into a server and database and runs a SP from that database, but what would I have to take out if I just wanted to select fields from the same database instead?
>>
>>
FUNCTION r214input
>>THESQLDB = "TBL_BL"	
>>THESQLTABLE = "TBL_BOL"
>>THESERVER = goWCServer.oConfig.oTask.cSQLServer
>>usr = 
>>pas = 
>>ConnStr = [driver=SQL Server; server=]+THESERVER+[; database=]+THESQLDB+[; uid=]+usr+[;pwd=]+pas+[; Trusted_Connection=No;]
>>curHandle = SQLstringCONNECT( connStr )
>>cmd = [exec InTransit ?']+ALLTRIM(user.cclientcd)+[']
>>lr = SQLEXEC( curHandle, cmd, "sq")  && sq is the cursor the data is loaded into
>>
>>SELECT;	
>>	client_zip,;
>>	bol_number,;
>>	ref_num,;
>>	weight,;
>>	pro_number,;
>>	customer_name,;
>>	customer_state,;
>>	customer_zip,;
>>	carrier_name,;
>>	ship_date,;
>>	est_delivery,;
>>	appt_date,;
>>	latest_status_description,;
>>	latest_reason_description,;
>>	date_last_updated;
>>	FROM sq;
>>	INTO CURSOR TQuery
>>	SELECT TQuery
>>	SET CENTURY ON 
>>	recs=RECCOUNT()
>>
>>Would I just replace what is already in CMD with the select statement?
Previous
Reply
Map
View

Click here to load this message in the networking platform