[QODBC-ALL] How Optimizer Works
Posted by Jack - QODBC Support on 26 July 2017 09:55 AM
How Optimizer Works
I am using QODBC to access QuickBooks Data. I am using optimizer & I want to know How Optimizer Works.
The optimizer brings some data to a local cache to increase query retrieval performance. Below is the default setting of QODBC Optimizer.
Here is how the optimizer works with the default configuration.
1. You execute any query, for example: "Select * from Invoice."
2. QODBC will check the Optimizer table for the Invoice.
3. As it is the first time you are accessing the table, QODBC will get all the data of that table & its child tables (e.g., for the Invoice table, it is Invoice, InvoiceLine & InvoiceLinkedTxn). E.g., There are 50000 records.
4. QODBC will add the data and the timestamp to the optimizer file.
5. QODBC will then read records from the optimizer and return them to the calling application.
6. Next time, when you execute "Select * from Invoice."
7. QODBC will check the Optimizer table for the Invoice.
8. As there are data and the last timestamps, QODBC will get all the data added/modified/deleted after the previous sync timestamp from QuickBooks.
9. As QODBC is querying limited data, the data transfer is faster. e.g., if there are 40 records modified and ten added, ten deleted instead of reading 50000 documents, only 60 papers will be processed.
10. QODBC will add the delta changes to the optimizer.
11. QODBC will then read records from the optimizer and return them to the calling application.