More information:
http://www.ibmdatabasemag.com/story/showArticle.jhtml?articleID=15300107
http://www.ibmdatabasemag.com/story/showArticle.jhtml?articleID=17602333
The bind process establishes a relationship between an application program and its relational data. This step is necessary before you can execute your program. Currently,DB2 allows you two basic ways of binding a program: to a package, or
directly to an application plan.
BIND PACKAGE subcommand allows you to bind DBRMs individually. It gives you the ability to test different versions of an application without extensive rebinding.
BIND PLAN establishes the relationship between DB2 and all DBRMs or packages in that plan. Plans can specify explicitly named DBRMs, packages,collections of packages, or a combination of these elements. The plan contains information about the designated DBRMs or packages and about the data the application program intends to use. It is stored in the DB2 catalog.
one program with sql-statements gives one dbrm, which must be bound (BIND), for db2 will recognize it. Thus, if you have a run-unit with, let's suppose 10 subprograms with sql-statements, you will also have 10 packages in db2 (one dbrm gives one package after the BIND).
in the package, there is the optimized access path for the desired data requests upon the last RUNSTATS (i.e. data statistics)
in the plan you define which package-lists are allowed to access,
therefore if you have all existing package-lists in your plan defined,
you will never need to BIND your plan again.
arlier version of DB2 had only bind plan.New versions have both.
package is not executable, while plan is the executable path to access your database in an optimized way.
Difference is that, if you have a program A and a sub pgm B.
If you have separate packages for both, when you change sub pgm you have to compile and bind only the sum program.Not the pgm A. Basically it makes the sub program independent.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21018850/viewspace-1021470/ ,如需转载,请注明出处,否则将追究法律责任。