Welcome to 2021! I hope that everyone’s new year is off to a
good start. A new year often brings
discussion of regeneration and rebooting to start the year with a clean slate
when it comes to developing good habits or dropping bad habits.
In the spirit of developing new habits for the new year, you
may want to look into starting the habit of regular regeneration of your SQL
routines.
When an SQL function, procedure, or trigger objects gets created, you may or may know that behind the scenes
Db2 generates a C program with embedded SQL to implement the specified SQL
procedural logic. The efficiency of the
program generation can have a direct impact on the runtime performance of your
SQL routines. As part of the code
generation process, Db2 tries to implement some assignments and comparisons
statements with pure C code to get the best performance.
Over time, the smart developers in Rochester have expanded
Db2 for i’s ability to generate pure C code in more situations to speed up the
performance of your SQL functions, procedures, and triggers. However, your SQL routines can only
benefit from the C code generation enhancements when they are recreated
with the newer version of Db2 for i.
This article shows you can how you can query the system catalogs to identify those SQL
routines that have not been recreated in a while.
Or you could just choose to recreate all of your SQL routines since
that’s a relatively easy operation to try to see if it improves performance?
Hopefully, I’ve convinced you to add regular SQL routine
recreation after Db2 for i updates to list of new habits to develop in the new year since it’s such a
simple operation that may deliver faster performance.
Great to know, Kent! Many thanks and a belated welcome back to the IBM i world!
ReplyDelete