|
[QODBC-ALL] How QODBC Optimizer Works
Posted by Jack - QODBC Support on 26 July 2017 09:55 AM
|
|
How QODBC Optimizer WorksProblem Description:I am using QODBC to access QuickBooks Data. I am using the QODBC optimizer, and I want to know more about How Optimizer Works. I am able to connect to QODBC but when I fetch any table it takes a lot of time. I am able to fetch records from a few tables but for other tables, QODBC is just processing and not returning any records.
Solution:The optimizer brings some data to a local cache to increase query retrieval performance. Below is the default setting of QODBC Optimizer.
The QODBC Optimizer is designed to improve performance when accessing QuickBooks data by caching results locally. This article explains how the optimizer works by default, step-by-step. When you run a query through QODBC (for example,
Here is how the optimizer works with the default configuration. Step-by-Step ProcessStep 1: Query ExecutionYou execute a query such as: Step 2: Check for Optimizer DataQODBC checks the Optimizer Table to see if data for the requested table (in this example, Invoice) already exists. Step 3: First-Time Data RetrievalAssuming there are 50,000 records in the Invoice table. If this is the first time accessing the table:
Step 4: Data Storage in OptimizerAfter retrieving the data:
Step 5: Data Returned to ApplicationOnce the optimizer is updated, QODBC reads from the optimizer file and returns the results to your application. Step 6: Subsequent QueriesThe next time you execute the same query (e.g.,
Step 7: Delta UpdateBecause QODBC now retrieves only changed data, the process is much faster.
Step 8: Optimizer UpdateQODBC applies the delta changes to the optimizer file to keep it up to date. Step 9: Return Updated DataFinally, QODBC reads the updated data from the optimizer file and returns the complete result set to the calling application
Key Points to Remember
Question: I am fetching the top 10 records from Invoice (or any other table), and QODBC is still reading all the records from QuickBooks. Answer: If you are not using the optimizer or if you are querying the table for the first time, QODBC will have to build the optimizer before returning the records. Even if you have requested the top 10, QODBC has to fetch all the records from QuickBooks to show the result matching the criteria.
| |
|
|



