Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Alternative way to write delete query

RE: Alternative way to write delete query

From: Mark Richard <mrichard_at_transurban.com.au>
Date: Mon, 26 May 2003 23:36:40 -0800
Message-ID: <F001.005A2E96.20030526233640@fatcity.com>


Naveen,

Thanks - I actually thought of that option myself. The explain plan did appear slightly better on the query in question (slightly more complex than my example) but the execution time was terrible. My "table" is several million rows and the "table_b" queries will be returning around 20,000 rows each.

I probably should have explained this initially, although I'm more interested in syntax alternatives rather than specific performance - I'm quite happy to play around looking at performance in various circumstances.

Regards,

      Mark.

                                                                                                                                    
                      "Naveen Nahata"                                                                                               
                      <naveen_nahata_at_mi        To:       Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>                
                      ndtree.com>              cc:                                                                                  
                      Sent by:                 Subject:  RE: Alternative way to write delete query                                  
                      root_at_fatcity.com                                                                                              
                                                                                                                                    
                                                                                                                                    
                      27/05/2003 16:41                                                                                              
                      Please respond to                                                                                             
                      ORACLE-L                                                                                                      
                                                                                                                                    
                                                                                                                                    




delete from table
where column in (select col_a from table_b) or column in (select col_b from table_b)

Can't say whether the performance will *really* be increased or not but 'explain plan' definitely looks much better :-)

Regards
Naveen

> -----Original Message-----
> From: Mark Richard [mailto:mrichard_at_transurban.com.au]
> Sent: Tuesday, May 27, 2003 10:57 AM
> To: Multiple recipients of list ORACLE-L
> Subject: Alternative way to write delete query
>
>
> Hi List,
>
> I'm having a mental blank and looking for suggestions... I'm
> trying to
> remember alternative ways to write the below query:
>
> delete from table
> where column in (select col_a
> from table_b
> union all
> select col_b
> from table_b);
>
> Having said that, I don't mind if you simplify the nested
> query down to
> "select col_a from table_b" even. I just have a feeling that
> I've seen an
> equivalent query written totally differently but I can't
> remember how. I
> have a feeling it effectively allows more than one table to
> be mentioned in
> the delete without needing a nested query (like the options
> available in
> normal selects).
>
> Any suggestions?
>
> Thanks,
> Mark.
>
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---->>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> Privileged/Confidential information may be contained in
> this message.
> If you are not the addressee indicated in this message
> (or responsible for delivery of the message to such person),
> you may not copy or deliver this message to anyone.
> In such case, you should destroy this message and kindly
> notify the sender
> by reply e-mail or by telephone on (61 3) 9612-6999.
> Please advise immediately if you or your employer does not
> consent to
> Internet e-mail for messages of this kind.
> Opinions, conclusions and other information in this message
> that do not relate to the official business of
> Transurban City Link Ltd
> shall be understood as neither given nor endorsed by it.
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---->>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
>
>
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.net
> --
> Author: Mark Richard
> INET: mrichard_at_transurban.com.au
>
> 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).
>
>

DISCLAIMER:
This message (including attachment if any) is confidential and may be privileged. Before opening attachments please check them for viruses and defects. MindTree Consulting Private Limited (MindTree) will not be responsible for any viruses or defects or any forwarded attachments emanating either from within MindTree or outside. If you have received this message by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change and MindTree shall not be liable for any improper, untimely or incomplete transmission.

--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Naveen Nahata
  INET: naveen_nahata_at_mindtree.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).




<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
   Privileged/Confidential information may be contained in this message.
          If you are not the addressee indicated in this message
       (or responsible for delivery of the message to such person),
            you may not copy or deliver this message to anyone.
In such case, you should destroy this message and kindly notify the sender
           by reply e-mail or by telephone on (61 3) 9612-6999.
   Please advise immediately if you or your employer does not consent to
                Internet e-mail for messages of this kind.
        Opinions, conclusions and other information in this message
              that do not relate to the official business of
                         Transurban City Link Ltd
         shall be understood as neither given nor endorsed by it.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Mark Richard
  INET: mrichard_at_transurban.com.au

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 May 27 2003 - 02:36:40 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US