CPU usage |
Author |
Message |
|
Posted : 2006-10-03 02:26:23 |
Hi
I'm running qodbc 6, with MS Sql server 2000 on windows 2003, when I send queries to qodbc, qbw32.exe starts but only take 2-6 % of the CPU usages while about 90% is idle. My queries take about 2-3 minutes per query to run which is very slow. I was wondering if their is any way for the qodbc process to use the cpu more aggressively to speed up my queries. I tried placing qbw32.exe on high priority in the task manager but it didn't do anything...
Thanks |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2006-10-03 10:39:13 |
CPU utilization isn't the main factor here. Query response is normally limited by these factors:
a) How much QuickBooks data has changed by other users since the last QODBC query? b) How many columns are used and whether you are using SELECT * on not? c) Are whole tables being queried (no WHERE clause that uses QODBC jump-ins)? d) Are the queries doing full table scans on joins? e) How many threaded calls SQL Server makes?
SQL Server is a threaded enviornment meaning that we have to start another QuickBooks session every time a new thread starts making it slow. |
|
|
|
|
Posted : 2006-10-03 11:06:04 |
Actually
I'm not doing any select query , I'm doing some insert into InvoiceLine, into BillExpenseLine, and journelentries , with about 10 columns each
I'm not using the optimizer, would it enhance the insertion ?
Where can I play with the number of thread Sql server uses ?
Thanks a lot |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2006-10-03 11:22:05 |
Sounds like each insert from SQL Server is opening and closing QuickBooks. Are the inserts being run at the one time? Or is there a break between them? You might need to run the inserts in batches. |
|
|
|
|
Posted : 2006-10-03 11:44:06 |
The insert statements are beeing writen in QB from a stored procedure in a loop, how can I start a batch? Is there a way to do so within a store procedure?
Thanks |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2006-10-03 14:26:34 |
|
|
|
|
Posted : 2006-10-03 15:10:02 |
Hi again
I tryed a long time ago all of these but I thought they didn't work within a MS Sql server stored procedure?
I recalled trying
EXEC mylinkserver...SP_BATCHSTART 'BillExpenseLine'
and
SELECT * FROM openquery(mylinkserver,'SP_BATCHSTART 'BillExpenseLine')
If my memory serves right, either of them worked, just like the last_insertedid
I hope I'm wrong, how do I run them ?
Thanks a lot |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2006-10-03 16:33:52 |
Sorry, you are correct, there are still a number of unresolved issues with running a number of QODBC sp_ stored procedures in both MS SQL Server and MS Access that cause exception errors when any attempt is made to use them.
SP_BATCHSTART really needs to be run from an application enviroment. |
|
|
|
|
Posted : 2006-10-03 17:00:00 |
Hi Tom
So is there any work arround or any other way to increase the CPU usage of the linkserver ? Should I diminish the maximum number of concurent thread?
Thanks |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2006-10-04 08:26:07 |
No, QODBC will use the resources available to it. There are no settings to change how much memory or the CPU utilization. |
|
|
|