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: Do triggers cause a context switch between SQL & PL/SQL

Re: Do triggers cause a context switch between SQL & PL/SQL

From: <Brian_P_MacLean_at_eFunds.Com>
Date: Tue, 01 Apr 2003 13:24:05 -0800
Message-ID: <F001.005777AC.20030401132405@fatcity.com>

I did some bulk load testing with triggers on v8.1.7.4 a few months ago. All the trigger(s) had for code was a "NULL;" statement. The first trigger increased the time 100% in the insert (ie: a load that took 1 minute increased to 2 minutes with the trigger). Each additional trigger after the first cost an additional 25%.

So I would read that as a 75% cost/increase to do the SQL to PLSQL switch.

                                                                                                                                
                      DEEDSD_at_Nationwide                                                                                         
                      .com                     To:       Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>            
                      Sent by:                 cc:                                                                              
                      root_at_fatcity.com         Subject:  Re: Do triggers cause a context switch between SQL & PL/SQL            
                                                                                                                                
                                                                                                                                
                      04/01/03 12:43 PM                                                                                         
                      Please respond to                                                                                         
                      ORACLE-L                                                                                                  
                                                                                                                                
                                                                                                                                





I thought as much, from what I've heard and read. Does anyone know if there's a way to figure out how much overhead the switches generate? I'm guessing they would show up in trace files in the 'other CPU' category.

                          Jared.Still_at_radisys.com

                                                   T

                          Sent by:                 To:   Multiple
recipients of list ORACLE-L
                          root_at_fatcity.com         <ORACLE-L_at_fatcity.com>

                                                   cc:


                                                   bcc:

                          04/01/03 01:19 PM        Subject:
Re: Do
                          Please respond to        triggers cause a context
switch between SQL & PL/SQL
                          ORACLE-L







Since you the action switches from SQL to PL/SQL to enforce the trigger, it sounds like a context switch to me.

FYI: This can be improved somewhat by adding "and rownum < 2 " into the WHERE clauses of these. There will be noticable improvement when there are many child rows.

Jared

DEEDSD_at_Nationwide.com
Sent by: root_at_fatcity.com
 04/01/2003 09:48 AM
 Please respond to ORACLE-L

        To:     Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>
        cc:
        Subject:        Do triggers cause a context switch between SQL &
PL/SQL Question:

If some idiot decides to circumvent Oracle's referential integrity and re-implement it by using triggers (insert, update, delete) that checks the foreign (parent/child) key fields in other tables like this,

declare numrows INTEGER;
begin

end;

would it cause context switching between the SQL & PL/SQL engines?

Yes, some genius did this in one of our databases. Two hundred third/fourth normal form tables enforced by 800 triggers... I have him registered to be stoned in public.

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




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







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






-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: 
  INET: Brian_P_MacLean_at_eFunds.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 Apr 01 2003 - 15:24:05 CST

Original text of this message

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