SQL语句的Select部分只写必要的列

如果Select部分包含不需要的列,这会强制DB2必须进入数据页来得到所请求的特定列,这就要求更多的I/O操作。另外,如果再对这个不需要的列进行排序,就需要创建和传递一个更大的排序文件,相应地会使排序的成本更高。

如果查询中涉及多个表,指定多余的列还会对优化工具选择何种联接产生影响。目前,z/OS DB2中有4种联接类型(嵌套循环联接、合并扫描联接、复合联接和星型联接),DB2 LUW中还有一种哈希联接。优化工具会根据不同的原因选择各种联接类型。如果包含了根本不会用到的多余的列,优化工具就无法再联接中做出最佳选择。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。