Triggers are active database objects. The actions of creating triggers on tables and then executing them involve several system resource issues.
Application designers must evaluate the relative advantages of triggers and the possible performance impact while defining them. For example, a row trigger can complete a much larger amount of work than is done in the triggering statement, which is an SQL DML statement.
There is no limit on the number of rows that can be changed by row triggers or statement triggers. For example:
THIS type of triggered action … | RESULTS in … |
---|---|
INSERT | adding one row to a table. |
INSERT... SELECT | adding many rows to a table. |
UPDATE | updating one or multiple rows. |
In many instances, the actions carried out by triggers are sufficiently useful that their use is justified even after the resulting impact on system performance is taken into consideration.