<< The problem that I have is thatthe trigger adds an enormous amount of processing time(10 times longer), even when the trigger isbeing bypassed. As a work around, I drop the trigger when the triggerwhen itis notneeded, instead of using the bypass. Is thisbehaviornormal or do I have something wrongwith my codeor my process.>>
This behavior is normal and expected as far as I know. The bulk of the overhead with triggers is in detecting the existence of the trigger, finding the stored procedure code, and executing it. The fact that you skip over most of the code in your trigger doesn't eliminate that basic overhead. R:Base is extraordinarily fast at basic UPDATE operations, but when you stick an interpreted code process in the middle of update to each row, you're invariably going to slow down the operation substantially. Even if RBTI were to go all out optimizing trigger performance, I'm sure that using a trigger will slow down an update by a factor of several hundred percent. You're left with dropping and re-adding the trigger, which is not a great solution (the purpose of a trigger, after all, is to become an unavoidable part of the database structure), accepting the performance hit, or refactoring your database in some way to separate out the "trigger" and "non-trigger" rows into separate tables. -- Larry

