| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> 30GB table: Hardware performance issue ?
We have a very large system that collects historical data.
There is a partitionned (monthly based) table called HISTORY.
Its size is 30GB and has over 800 000 000 rows.
It has a partitionned index IDX_HISTORY.
The present query runs in 33 seconds the first time and 4 seconds the second time (100% cache hit).
I have to bring down the first run time below 10 seconds.
The hardware is Win2000 Adv Server on Compaq Proliant DL380.
HD: Raid 1+0, 15000RPM SCSI.
The system is very reliable. My problem is only the performance.
What I have to do to improve the performance this query?
SELECT timestamp,
id,
value
FROM history
WHERE timestamp >= to_date('2002/11/21 17:00:00', 'YYYY/MM/DD
HH24:MI:SS')
AND timestamp <= to_date('2002/11/30 17:00:00', 'YYYY/MM/DD
HH24:MI:SS')
AND to_char( timestamp, 'MI' ) = '00'
AND t1.id in (5867,5868,5869,5870,5871,5872,5873,5874,5875,5876,5877,5878,
5879,5880,5881,5882,5883,5884,5885,5886,5887,5888,5889,5890,
5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,
5903,5904,5905,5906,5907,5908,5909,5910,5911,12166,12375);
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=146 Card=55 Bytes=880)
1 0 PARTITION RANGE (ITERATOR)
2 1 INLIST ITERATOR 3 2 TABLE ACCESS (BY LOCAL INDEX ROWID) OF 'HISTORY'
(Cost=146 Card=55 Bytes=880)
4 3 INDEX (RANGE SCAN) OF 'IDX_HISTORY' (NON-UNIQUE)
Statistics
0 recursive calls
0 db block gets
12025 consistent gets
7777 physical reads
0 redo size
528913 bytes sent via SQL*Net to client
647 bytes received via SQL*Net from client
4 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
11255 rows processed
Performance is 33 seconds.
Received on Mon Mar 03 2003 - 14:45:14 CST
![]() |
![]() |