2008年(239)
分类:
2008-06-17 23:38:53
DB2系统使用基于代价的优化方法。在对一个SQL语句的所有执行计划进行费用估算时,根据数据库中的统计信息、系统参数配置,估算每一个执行计划的I/O处理次数、CPU工作量、需要的内存空间等资源。除此之外,还要结合计算机中CPU的个数和处理速度、网络通讯带宽等相关硬件资源,最终决定每一个执行计划的执行费用。
DB2系统的优化器功能相当强大,但也要消耗更多的系统资源。为了降低系统运行过程中优化器优化处理所消耗的系统资源,系统在应用程序编译时将生成程序中静态SQL语句的执行计划,并存放在数据字典中。这样,应用程序在运行时就可以直接使用这些已经被生成的执行计划,不需要重新优化。然而需要注意的是,如果用户更改了数据库结构、重新收集了数据库对象的统计信息,就需要让系统重新生成应用程序中SQL语句的执行计划。
对和优化器有关的系统配置,可以参看第2.6.1一节。