Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> SQL tuning
Hi,
I need to join two huge tables in Oracle to generate a sales report:
Table 1: Customer (5 million records)
Cust_ID (index)
Cust_Name
Region_id (index)
Cust_type (index)
...
Table 2: Order (more than 60 million records)
Order_ID Cust_ID (index) Order_Type (index) Order_Month (index) Order_Amount
My SQL:
SELECT a.cust_id, a.cust_name,
SUM (b.order_amount),
FROM customer a, order b,
WHERE a.cust_id =b.cust_id
AND b.order_month between 1 and 6 AND b.order_type = 10 AND a.region_id ='01'
The query runs very slow (more than 20 seconds) even when only a few thousand records returned. It can run 10 mins if I don't add region id in where clause.
The indexes look fine to me on both tables. What can I do to tune the SQL? Thanks,
Ben Received on Thu Nov 10 2005 - 14:10:44 CST
![]() |
![]() |