H
HM
Greetings all,
Im relatively new to Access. When I make certain queries consisting of a
say 3 of 4 tables, they run vey fast on their own, just a couple seconds.
However when I combine another query (which consists of one table) into that
same query that previously ran in seconds, it can take up to 30 minutes to
run. Im just looking for some general (or specific) things that I can look
for.
I link to all the tables through ODBC. And the tables are extremely large.
Is there a faq, or some methodology that I should be using that is obvious.
I can paste my sql code if that would help..but not sure if that would?
Some general tips are all I am expecting, however I did paste my sql below
for anyone that can decipher that.
Thanks in advanced,
HM
Below query A runs very fast.
SELECT dbo_OPERATION.WORKORDER_BASE_ID, dbo_OPERATION.RESOURCE_ID AS [Line
Number], dbo_OPERATION.WORKORDER_TYPE, dbo_OPERATION.SEQUENCE_NO,
Count(dbo_OPERATION.WORKORDER_BASE_ID) AS CountOfWORKORDER_BASE_ID
FROM dbo_OPERATION
GROUP BY dbo_OPERATION.WORKORDER_BASE_ID, dbo_OPERATION.RESOURCE_ID,
dbo_OPERATION.WORKORDER_TYPE, dbo_OPERATION.SEQUENCE_NO
HAVING (((dbo_OPERATION.WORKORDER_TYPE)="W") AND
((dbo_OPERATION.SEQUENCE_NO)=10));
This query (B) also runs relatively fast..
SELECT dbo_CUST_ORDER_LINE.CUST_ORDER_ID, dbo_CUSTOMER.NAME,
dbo_CUST_ORDER_LINE.PART_ID, dbo_CUST_ORDER_LINE.ORDER_QTY,
dbo_CUST_ORDER_LINE.UNIT_PRICE, dbo_PART.USER_9 AS [Pcs/Load]
FROM ((dbo_CUST_ORDER_LINE INNER JOIN dbo_CUSTOMER_ORDER ON
dbo_CUST_ORDER_LINE.CUST_ORDER_ID = dbo_CUSTOMER_ORDER.ID) INNER JOIN
dbo_CUSTOMER ON dbo_CUSTOMER_ORDER.CUSTOMER_ID = dbo_CUSTOMER.ID) INNER JOIN
dbo_PART ON dbo_CUST_ORDER_LINE.PART_ID = dbo_PART.ID
GROUP BY dbo_CUST_ORDER_LINE.CUST_ORDER_ID, dbo_CUSTOMER.NAME,
dbo_CUST_ORDER_LINE.PART_ID, dbo_CUST_ORDER_LINE.ORDER_QTY,
dbo_CUST_ORDER_LINE.UNIT_PRICE, dbo_PART.USER_9;
But when I insert query A into Query B, via the below code, It will will
take 30 min to run.
Query C
SELECT dbo_CUST_ORDER_LINE.CUST_ORDER_ID, dbo_CUSTOMER.NAME,
dbo_CUST_ORDER_LINE.PART_ID, dbo_CUST_ORDER_LINE.ORDER_QTY,
dbo_CUST_ORDER_LINE.UNIT_PRICE, dbo_PART.USER_9 AS [Pcs/Load], [qry Resource
ID].[Line Number]
FROM [qry Resource ID] INNER JOIN (((dbo_CUST_ORDER_LINE INNER JOIN
dbo_CUSTOMER_ORDER ON dbo_CUST_ORDER_LINE.CUST_ORDER_ID =
dbo_CUSTOMER_ORDER.ID) INNER JOIN dbo_CUSTOMER ON
dbo_CUSTOMER_ORDER.CUSTOMER_ID = dbo_CUSTOMER.ID) INNER JOIN dbo_PART ON
dbo_CUST_ORDER_LINE.PART_ID = dbo_PART.ID) ON [qry Resource
ID].WORKORDER_BASE_ID = dbo_CUST_ORDER_LINE.CUST_ORDER_ID
GROUP BY dbo_CUST_ORDER_LINE.CUST_ORDER_ID, dbo_CUSTOMER.NAME,
dbo_CUST_ORDER_LINE.PART_ID, dbo_CUST_ORDER_LINE.ORDER_QTY,
dbo_CUST_ORDER_LINE.UNIT_PRICE, dbo_PART.USER_9, [qry Resource ID].[Line
Number];
Im relatively new to Access. When I make certain queries consisting of a
say 3 of 4 tables, they run vey fast on their own, just a couple seconds.
However when I combine another query (which consists of one table) into that
same query that previously ran in seconds, it can take up to 30 minutes to
run. Im just looking for some general (or specific) things that I can look
for.
I link to all the tables through ODBC. And the tables are extremely large.
Is there a faq, or some methodology that I should be using that is obvious.
I can paste my sql code if that would help..but not sure if that would?
Some general tips are all I am expecting, however I did paste my sql below
for anyone that can decipher that.
Thanks in advanced,
HM
Below query A runs very fast.
SELECT dbo_OPERATION.WORKORDER_BASE_ID, dbo_OPERATION.RESOURCE_ID AS [Line
Number], dbo_OPERATION.WORKORDER_TYPE, dbo_OPERATION.SEQUENCE_NO,
Count(dbo_OPERATION.WORKORDER_BASE_ID) AS CountOfWORKORDER_BASE_ID
FROM dbo_OPERATION
GROUP BY dbo_OPERATION.WORKORDER_BASE_ID, dbo_OPERATION.RESOURCE_ID,
dbo_OPERATION.WORKORDER_TYPE, dbo_OPERATION.SEQUENCE_NO
HAVING (((dbo_OPERATION.WORKORDER_TYPE)="W") AND
((dbo_OPERATION.SEQUENCE_NO)=10));
This query (B) also runs relatively fast..
SELECT dbo_CUST_ORDER_LINE.CUST_ORDER_ID, dbo_CUSTOMER.NAME,
dbo_CUST_ORDER_LINE.PART_ID, dbo_CUST_ORDER_LINE.ORDER_QTY,
dbo_CUST_ORDER_LINE.UNIT_PRICE, dbo_PART.USER_9 AS [Pcs/Load]
FROM ((dbo_CUST_ORDER_LINE INNER JOIN dbo_CUSTOMER_ORDER ON
dbo_CUST_ORDER_LINE.CUST_ORDER_ID = dbo_CUSTOMER_ORDER.ID) INNER JOIN
dbo_CUSTOMER ON dbo_CUSTOMER_ORDER.CUSTOMER_ID = dbo_CUSTOMER.ID) INNER JOIN
dbo_PART ON dbo_CUST_ORDER_LINE.PART_ID = dbo_PART.ID
GROUP BY dbo_CUST_ORDER_LINE.CUST_ORDER_ID, dbo_CUSTOMER.NAME,
dbo_CUST_ORDER_LINE.PART_ID, dbo_CUST_ORDER_LINE.ORDER_QTY,
dbo_CUST_ORDER_LINE.UNIT_PRICE, dbo_PART.USER_9;
But when I insert query A into Query B, via the below code, It will will
take 30 min to run.
Query C
SELECT dbo_CUST_ORDER_LINE.CUST_ORDER_ID, dbo_CUSTOMER.NAME,
dbo_CUST_ORDER_LINE.PART_ID, dbo_CUST_ORDER_LINE.ORDER_QTY,
dbo_CUST_ORDER_LINE.UNIT_PRICE, dbo_PART.USER_9 AS [Pcs/Load], [qry Resource
ID].[Line Number]
FROM [qry Resource ID] INNER JOIN (((dbo_CUST_ORDER_LINE INNER JOIN
dbo_CUSTOMER_ORDER ON dbo_CUST_ORDER_LINE.CUST_ORDER_ID =
dbo_CUSTOMER_ORDER.ID) INNER JOIN dbo_CUSTOMER ON
dbo_CUSTOMER_ORDER.CUSTOMER_ID = dbo_CUSTOMER.ID) INNER JOIN dbo_PART ON
dbo_CUST_ORDER_LINE.PART_ID = dbo_PART.ID) ON [qry Resource
ID].WORKORDER_BASE_ID = dbo_CUST_ORDER_LINE.CUST_ORDER_ID
GROUP BY dbo_CUST_ORDER_LINE.CUST_ORDER_ID, dbo_CUSTOMER.NAME,
dbo_CUST_ORDER_LINE.PART_ID, dbo_CUST_ORDER_LINE.ORDER_QTY,
dbo_CUST_ORDER_LINE.UNIT_PRICE, dbo_PART.USER_9, [qry Resource ID].[Line
Number];