Trigger Efficiency in Oracle

The documentation for Oracle 9.2 and previous versions contains the following paragraph:

AFTER row triggers are slightly more efficient than BEFORE row triggers. With BEFORE row triggers, affected data blocks must be read (logical read, not physical read) once for the trigger and then again for the triggering statement.

For some reason, the documentation in Oracle 10g, and 11g changed as follows:

BEFORE row triggers are slightly more efficient than AFTER row triggers. With AFTER row triggers, affected data blocks must be read (logical read, not physical read) once for the trigger and then again for the triggering statement. Alternatively, with BEFORE row triggers, the data blocks must be read only once for both the triggering statement and the trigger.

It turns out that the latest documentation for Oracle 10g and 11g is incorrect and the documentation for Oracle 9i and previous releases is correct: AFTER row triggers are more efficient than BEFORE row triggers. This is true for all versions of Oracle. To verify this, use the following test:

create table tmptrig as select 0 as i from dual;create trigger tmp$before_trigger before update on tmptrigfor each row    begin  if :new.i is null then null; end if; end;/update tmptrig set i = i + 1;set autot trace stat/set autot offdrop trigger tmp$before_trigger;create or replace trigger tmp$after_trigger after update on tmptrigfor each row     begin  if :new.i is null then null; end if; end;/update tmptrig set i = i + 1;set autot trace stat/set autot offdrop trigger tmp$after_trigger;drop table tmptrig;
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

technology leadership

Why the World Needs More Technology Leadership

As a fact, technology has touched every single aspect of our lives. And there are some technology giants in today’s world which have been frequently opined to have a strong influence on recent overall technological influence. Moreover, those tech giants have popular technology leaders leading the companies toward achieving greatness.

iOS app development

The Future of iOS App Development: Trends to Watch

When it launched in 2008, the Apple App Store only had 500 apps available. By the first quarter of 2022, the store had about 2.18 million iOS-exclusive apps. Average monthly app releases for the platform reached 34,000 in the first half of 2022, indicating rapid growth in iOS app development.

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job