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 : QODBC unreasonably SLOW.....Search Forum

Forum Home > QODBC - ODBC Driver for QuickBooks > QODBC SQL Support Forum

 New Topic 
 
 Post Reply 
[1]  
 QODBC unreasonably SLOW..... 
 Author   Message 
  rgarcia 
  
 Group: Members 
 Posts: 1 
 Joined: 2006-06-08 
 Profile
 Posted : 2006-06-08 01:23:03

I am running QODBC as a mechanism to get data from QuickBooks Enterprise for a report processor I have built.  Extracting  data from the client table for exmaple is slow (but tolerable  - with only 50 client records) HOWEVER, the moment that you apply any kind of sort becomes EXTREAMLY slow.  I have worked with many databases, most of which have index tables for sort optimization.  From within Quickbooks, sorting (even on client tables of hundred of records) happens pretty quickly.  Why is OODBC so slow. Based on my estimates to sort by client name on a table with 300-500 could take up to 2 -5 minutes. That will not be acceptable to end users.

Any ideas.  I should be able to read the Sybase database behind it directly with MUCH better results, I hope.

Thanks

Rick

 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-06-08 08:49:54

Most likely you are doing something like:

SELECT * from Customer order by CompanyName

which will run VERY slowly as QODBC has to sort the result and display the correct current open balance for each customer, row by row, while this will run much faster:

SELECT "Name","LastName","FirstName", "CompanyName",
"BillAddressAddr1", "BillAddressAddr2","BillAddressCity",
"BillAddressState","BillAddressPostalcode"
from Customer order by CompanyName

and can be refreshed even faster by using:

SELECT "Name","LastName","FirstName", "CompanyName",
"BillAddressAddr1", "BillAddressAddr2","BillAddressCity",
"BillAddressState","BillAddressPostalcode"
from Customer NOSYNC order by CompanyName

See: How do I setup the QODBC Optimizer? Where are the Optimizer options?  for more info.

 

  Top 
  Iani 
  
 Group: Members 
 Posts: 1 
 Joined: 2006-07-09 
 Profile
 Posted : 2006-07-09 15:11:09
I think it is important to say that the driver may seem to be slow if one does not user QuickBooks IDs in the queries. Here is what my problem was and how I came to the resolution 6 months later.

I had inset invoice and sales reciepts... simple... yet every time I was iseting i was checkin the quickbooks user id by SELECT ListID FROM Customer WHERE AccountNumber = #theUserIDfromMyApp#
This ran at 30 sec per transaction... way too slow... as i have hundreds of transactions to sync.
The solution was to select all the customers form QB and copy the ListIDs into my database so that when i insert the invoice/sales reciepts I wouldn't have to query QB... so now each transaction takes 2 sec.
Conclusion: If you use anything but the quickbooks ID to select a record it will run "slow" because it will search and not just point.

Hope this helps... If I only had someone in this forum tell me this 6 months ago :P

BTW: I use MSSQL, ColdFusion, QBs 2006 Retail, Driver v.6 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-07-09 16:09:40

The stored procedure sp_columns actual shows the jump-ins that can be used in the WHERE clause to locate a row instantly:

sp_columns customer

For example:

SELECT "Name","LastName","FirstName", "CompanyName",
"BillAddressAddr1", "BillAddressAddr2","BillAddressCity",
"BillAddressState","BillAddressPostalcode"
from Customer Where FullName='ABC Company'

uses the FullName jump-in. If you don't use a jump-in, QODBC will need to do a table scan to locate the rows to be returned. 

 

  Top 
 New Topic 
 
 Post Reply 
[1]  

Jump to