I have just converted a Delphi-program (an analysis program with a lot of database activity) from BDE to SDAC and interestingly enough the speed did go down. I timed the report generating tool and this is the times I found:
With BDE: 6:26 mins
After converting to SDAC: 8:22 mins
I'm convinced that the SDAC is faster than the BDE with ODBC and I'm sure that the code in the program is poorly optimized. Anywhere I could I set FetchAll=False and this gave me a new time:
After converting to SDAC with FetchAll=False: 7:09 mins (-1:13)
The question is how I can setup the SDAC to gain the last 43 secs or possible more.
How does the standard TQuery (with no other properties set) differ from the standard TMSQuery?
Converting from BDE to SDAC speed problems
You can try to change value of the TMSQuery.CursorType. You can also take a look at the "Increasing performance" topic in the SDAC help.
Could you describe your test case in more details, or send us a complete small sample that demonstrates this performance difference? Also include a script to create server objects, and fill tables with generated data. You can send to this e-mail: sdac*crlab*com.
Could you describe your test case in more details, or send us a complete small sample that demonstrates this performance difference? Also include a script to create server objects, and fill tables with generated data. You can send to this e-mail: sdac*crlab*com.