SQL tuning
- From: "yuxe2000@xxxxxxxxx" <yuxe2000@xxxxxxxxx>
- Date: 10 Nov 2005 12:10:44 -0800
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'
HAVING SUM(b. order_amount) BETWEEN '100' AND '10000'
GROUP BY a.cust_id, a.cust_name
Order by a.cust_id
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
.
- Follow-Ups:
- Re: SQL tuning
- From: boogab00
- Re: SQL tuning
- From: Mladen Gogala
- Re: SQL tuning
- From: DA Morgan
- Re: SQL tuning
- From: Sybrand Bakker
- Re: SQL tuning
- Prev by Date: Re: (S)PFiles in genaral [Oracle 9i] (Newbie)
- Next by Date: Re: accidentallly deleted 2 REDO logs, ora 9.2
- Previous by thread: Table Fragmentation?
- Next by thread: Re: SQL tuning
- Index(es):
Relevant Pages
|
Loading