| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
|  |  | |||
Home -> Community -> Mailing Lists -> Oracle-L -> RE: SQL tuning help
Let me clearfy.
I am running Oracle 8.1.6 on solaris 8
 
Fastcash has 50M record
tmp_brian_metareward1 has 600 records.
 
I was able to tune the query so it runs fast now. I created a combined index on subsite_id and attempt and I added a hint
UPDATE tmp_brian_metareward1 tmp
   SET offers_seen  = (
   SELECT /*+ INDEX(f IN_FASTCASH_SIDATMP) */ count(f.fastcash_id) FROM
metareward.fastcash f
                             WHERE f.subsite_id = tmp.subsite_id
                               and attempt >= trunc(sysdate-1)
                               and attempt < trunc(sysdate)
                             group by tmp.subsite_id);
 
I am still having a problem with a similar query below: IN_FASTCASH_SIDFIDVER - index is for subsite_id fastcash_id and verified
UPDATE tmp_brian_metareward1 tmp
SET revenue = (SELECT /*+ INDEX(f IN_FASTCASH_SIDFIDVER) */ sum(f.mr_amount)/100 FROM metareward.fastcash f, metareward.transaction_fastcash tf
                             WHERE f.subsite_id = tmp.subsite_id
                               and f.fastcash_id = tf.fastcash_id
                               and f.verified >= trunc(sysdate-1)
                               and f.verified < trunc(sysdate)
                             group by tmp.subsite_id);
 
 
transaction_fastcash table has 2.5M records
fastcash table has                   50M record
 
 
Thank you
Sergei
 
 
-----Original Message-----
Jerome Contr NCI
Sent: Tuesday, November 26, 2002 12:04 PM
To: Multiple recipients of list ORACLE-L
 
Sergei, 
How many records in each table? What indexes are in these tables? What
version of Oracle? 
What do you mean by 'began to hang'? 
I'd try making the attempts in the WHERE clause into a Between. I'd also
try grouping by f.subsite_id. 
You could always throw a Rule hint at it and see what happens. 
Jerry Whittle 
ACIFICS DBA 
NCI Information Systems Inc. 
jerome.whittle_at_scott.af.mil 
618-622-4145 
-----Original Message----- 
Hello everybody, 
I have the following query that runs every week.  
UPDATE tmp_brian_metareward1 tmp 
  SET offers_seen  = (SELECT count(f.fastcash_id) FROM 
metareward.fastcash f 
                             WHERE f.subsite_id = tmp.subsite_id 
                               and attempt >= trunc(sysdate-1) 
                               and attempt < trunc(sysdate) 
                             group by tmp.subsite_id); 
This week it began to hang and I can't figure out why.  No changes were 
made to a database.  Please advise me on how I can tune it, which hints 
to add, or anything else I can do. 
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Sergei
  INET: sergei_at_netflip.com
Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services ---------------------------------------------------------------------To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Tue Nov 26 2002 - 15:59:01 CST
|  |  |