You can also use SQLPrepare() on the Fox end if you're going to be repeatedly executing the same query with different parameters.
If you need the front end (VFP) to keep doing things while waiting for the backend, you can set the connection as asynchronous and use SQLMoreResults() to pull the data down when available. This is pretty rare.
You can also batch multiple queries together. It all depends (stop me if you've heard this before) on the specifics of your data, structure, infrastructure and performance metrics. The trick is figuring out where the slow parts are.
On Thu, Mar 29, 2018 at 3:36 PM, Richard Kaye rkaye@invaluable.com wrote:
I was trying to play with packet size recently and it appears that the current versions of the SQL ODBC driver have deprecated this parameter. At least my attempts to change were met with failure.
I think the best opportunity for optimization would be to create your queries as stored procedures and then call the stored procs. This will allow SQL to generate execution plans that can be reused. This also assumes your queries are written in a way that allows you to pass parameters to the SPs.
--
rk
-----Original Message----- From: ProfoxTech profoxtech-bounces@leafe.com On Behalf Of Paul H. Tarver Sent: Thursday, March 29, 2018 2:58 PM To: profoxtech@leafe.com Subject: Tuning VFP SQL Pass-Through For Fastest Times Transferring Query Results
I'm working on a project which involves issuing multiple queries across several SQL databases and servers. At this point, I'm polling about 30 databases and retrieving data from four tables from each database.
I really have no reason to complain as my procedure including retrieving the data synchronously over a VPN, processing results locally and then exporting the data to local files only takes about 6 minutes.
However, I see this as an opportunity to tune my sql back-end connection and was wondering if anyone had any suggestions say for setting the PacketSize or other changes that might optimize the retrieval of data from the server(s).
Thanks in advance!
Paul
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]