当前位置:   article > 正文

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

sql select有2列,只需要一列

如果Select部分包含不需要的列,优化工具会选择Indexonly = ‘N’,这会强制DB2必须进入数据页来得到所请求的特定列,这就要求更多的I/O操作。另外,由于这些多余的列可能是某些排序的一部分,这样一来,就需要创建和传递一个更大的排序文件,相应地会使排序的成本更高。对于排序来讲,其规模大小会直接影响成本。随着排序规模变大,成本也会更昂贵。

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

转载于:https://www.cnblogs.com/xiaotu/p/3185525.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/743875
推荐阅读
相关标签
  

闽ICP备14008679号