实现DB2 SQL语句的优化的方法和意义

应用程序对DB2数据库的操作最终表现为SQL语句对数据库的操作。良好的DB2 SQL语句可以被数据库重复使用从而减少分析时间、改善一个系统的性能、对提高数据库内存区的命中率、减少I/O访问等有着非常重要的意义。
  在DB2数据统计和分析系统中,数据的物理位置比逻辑位置更重要,因为数据库必须查找数据,以便返回给查询用户。因此,调整SQL的关键是如何使数据查找的路径最简化。通常可以采用下面的方法优化SQL对数据操作的表现。
  (1)减少对DB2数据库的查询次数,即减少对系统资源的请求。
  (2)使用临时表空间,把表的子集在临时表中进行排序,有助于避免多重排序操作。为了加速SQL查询至少应该创建一个表空间供临时段单独使用。
  (3)限制动态SQL的使用。虽然动态SQL很好用,但是即使在SQL共享池中有一个完全相同的查询值,动态SQL也会重新进行语法分析。
  (4)避免不带任何条件的SQL语句的执行。没有任何条件的SQL语句在执行过程中要进行全表扫描,这样的扫描往往需要很长时间,因此会大大降低检索效率。
  (5)避免相关子查询一个字段的标签同时在主查询和where子句中的查询中出现。那么很可能当主查询中的字段值改变之后,子查询必须重新查询一次。查询嵌套层次越多,效率越低。因此,应当尽量避免子查询。如果子查询不可避免,那么应在子查询中过滤掉尽可能多的行。
  (6)尽量使用相同的或非常类似的SQL语句进行查询。这样不仅充分利用内存中的已经分析的语法树,还能使要查询的数据在缓冲池中命中的可能性也会大大增加。
参与3

2同行回答

taylor840326taylor840326  数据库管理员 , 中国百盛集团
谢谢分享。显示全部
谢谢分享。收起
互联网服务 · 2012-09-12
浏览865
jileicrmjileicrm  数据库管理员 , 中信网络科技股份有限公司
常规总结显示全部
常规总结收起
系统集成 · 2011-04-18
浏览836

提问者

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-11-22
  • 关注会员:1 人
  • 问题浏览:17677
  • 最近回答:2012-09-12
  • X社区推广