如果Select部分包含不需要的列,这会强制DB2必须进入数据页来得到所请求的特定列,这就要求更多的I/O操作。另外,如果再对这个不需要的列进行排序,就需要创建和传递一个更大的排序文件,相应地会使排序的成本更高。
如果查询中涉及多个表,指定多余的列还会对优化工具选择何种联接产生影响。目前,z/OS DB2中有4种联接类型(嵌套循环联接、合并扫描联接、复合联接和星型联接),DB2 LUW中还有一种哈希联接。优化工具会根据不同的原因选择各种联接类型。如果包含了根本不会用到的多余的列,优化工具就无法再联接中做出最佳选择。
时间: 2024-11-04 23:53:37