Member Login

Username
Password
Forget Password
New Sign Up
Search Forum

Buy Support
Incidents

If you can't find your answer in the FREE PUBLIC QDeveloper Forum, require URGENT Priority Support, or you need to send us private or confidential information:

Click Here
If you can't login and post questions or you are having trouble viewing forum posts:
Click Here
Callback
Support

If you live in USA, UK, Canada, Australia or New Zealand, you can leave us details on your question and request us to call you back and discuss them with you personally  (charges apply).

Click Here
 
Buy Support
Incidents
If you can't find your answer in the FREE PUBLIC QDeveloper Forum, require URGENT Priority Support, or you need to send us private or confidential information:
Click Here

Forum : Optimizer Load Updated Data slow l loading all dataSearch Forum

Forum Home > QODBC - ODBC Driver for QuickBooks > QODBC v9 Forum

 New Topic 
 
 Post Reply 
[1]  
 Optimizer Load Updated Data slow l loading all data 
 Author   Message 
  cgoldsmith 
  
 Group: Members 
 Posts: 5 
 Joined: 2008-07-09 
 Profile
 Posted : 2009-01-16 11:34:58
I run the command line QODBCUPD to update my local optimizer data cache with the hope of improving performance for applications that need ODBC data.  The QODBC configuration window is set to "keep optimized data up to date as of" "the last time I pressed one of the load data buttons". 

My theory is the command line exe updates the data at a time of my choosing and that ODBC reads should be really fast from then on.

Here is the problem:  the load updated data takes forever.  Either it sits with a "witing for quickbooks" message or the pointer goes through every invoice.  Very little data changes between runs of QODBCUPD I don;t know why its not really fast. 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2009-01-17 09:56:47
Sorry, if that method was the fastest way then the QODBC optimizer would default to it. Why optimize every table when you only use a handfull of them? Also a update operation doesn't fix any deleted transactions. It's beeter to work with just the tables you're using, see: How do I setup the QODBC Optimizer? Where are the Optimizer options?  

  Top 
  cgoldsmith 
  
 Group: Members 
 Posts: 5 
 Joined: 2008-07-09 
 Profile
 Posted : 2009-01-17 10:06:11
Are you suggesting the Optimizer should be set to "start of every connection load updated data first"?

I found that performance to be very slow:  it appears as if the optimizer is reloading all of the data, not the changes, but its hard to tell. 

In the sales order table of 45k records, only 5 have changed, the query takes 30min or 1 hour.

Is the poor performance due to some other setting or condition rather than the option you are recomending?
 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2009-01-18 10:54:00

Getting the contents of whole tables is a complete waste of time. You should be reading subsets of data. For example, to read new (recent) InvoiceLines directly out of QuickBooks use:

select * from InvoiceLine UNOPTIMIZED WHERE Txndate > {d '2009-01-01'}

Or you can fully resync your optimized InvoiceLine table by first doing:

sp_optimizefullsync InvoiceLine

then read directly out of the optimized table by doing:

select * from InvoiceLine NOSYNC WHERE Txndate > {d '2009-01-01'}

This is very f...a.......s.................t.

Another good example of using NOSYNC would be to get for example all historical invoicelines before 2008:

SELECT * from InvoiceLine NOSYNC WHERE Txndate < {d '2008-01-01'}

as invocies before 2008 don't ever change, you can read them directly from the QODBC Optimizer. You just need to use unoptimized for crtical operations like Sales Commisions etc.

 

 

  Top 
 New Topic 
 
 Post Reply 
[1]  

Jump to