Chinaunix首页 | 论坛 | 博客
  • 博客访问: 254743
  • 博文数量: 123
  • 博客积分: 2315
  • 博客等级: 大尉
  • 技术积分: 1827
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-03 14:25
文章分类

全部博文(123)

文章存档

2012年(11)

2011年(3)

2010年(3)

2009年(18)

2008年(88)

我的朋友

分类: 项目管理

2012-04-17 12:15:26

在select语句后面的where附加项中可以使用左关联,这会极大的提高程序速度,但同时也有一些局限,如下:

  1. 重复项会被从结果数据集中自动删除,因此要注意在select语句中需要给出详细的唯一关键字组合。
  2. 如果 For All Entries IN 字段修饰的内表是空表的话,源表的所有行都会被选入目标表中。因此在使用前一定要首先检查第一个表是否为空,这一点很重要,否则会有performance问题。
  3. 如果 For All Entries IN 字段修饰的内表很大的话,程序速度反而会减慢,而不是加快。因此应该尽量使该表的数据量控制在一个适当的大小。

不推荐使用:

Loop at int_cntry.

Select single * from zfligh into int_fligh

where cntry = int_cntry-cntry.

Append int_fligh.

Endloop.

推荐使用:

IF NOT int_cntry[] IS INITIAL.

  Select * from zfligh appending table int_fligh

For all entries in int_cntry

Where cntry = int_cntry-cntry.

ENDIF.

阅读(1864) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~