DB2:查询所需的优化

时间:2012-10-25 14:30:02

标签: view db2

我必须通过以下方式从.NET获取DB2数据库中的数据:

  1. 加入5个表2个内部联接3个左外部联接
  2. 必须将数据写入文本文件。因此必须使用LPAD / RPAD,substr等函数进行格式化。
  3. 检索的数据大约为100000行
  4. 我打算创建一个视图,以便应用程序摆脱连接,我只在视图中获得所需的列。 我想知道如果数据的格式化也应该移动到视图的定义?所以在应用程序中我只会执行

      

    从视图中选择*

    请咨询

    由于

1 个答案:

答案 0 :(得分:0)

数据库引擎的观点与应用程序是否提交带有连接,文本函数等的查询或者是否所有这些都包含在视图中并且应用程序执行简单的select * from view实际上没有区别。 DB2以完全相同的方式编译查询。

使用视图的唯一“好处”是应用程序开发人员的便利。当然,将SQL语句放入视图的缺点是,如果需求发生变化,则必须修改视图。

至于在视图中包含文本格式:如果此视图仅存在以支持此单个应用程序(并且您仅为方便起见而使用它),那么在视图中包含格式可能是有意义的定义。但是,如果其他应用程序可能需要视图(但不是文本格式),那么在视图中保持查询格式是更好的选择。

作为一名DBA,我建议文本格式的最佳位置在您的应用程序代码中。使用printf()(或等效的)编写格式化的字符串是应用程序通常非常擅长的。