FIELDS 有什么用以及它与表字段 INDEX 有何不同? - 进度 4GL

问题描述 投票:0回答:1

我理解 FIELDS 选项允许您显式指定我们想要使用的字段,这对于优化性能和减少不必要的处理很有用。处理大型记录时特别方便。

但是我仍然有一个困惑,指定FIELDS是否可以比INDEX字段更有效还是什么?只是想了解何时使用FIELDS 和INDEX。以下是示例查询。

for first td_det
   fields (td_domain td_line td_nbr td_site)
   where td_domain = "ASS"
   and   td_nbr    = "123"
   and   td_line   = 1
    no-lock:
end. /*for first td_det*/

注意 - 对于字段 td_site 没有定义索引..td_domain、td_line 和 td_nbr 一起都有一个唯一的索引字段

openedge progress-4gl
1个回答
0
投票

fields 短语允许控制在客户端/服务器环境中通过网络发送哪些字段。这主要是减少网络流量的问题,因为当发送的字段较少时,单个网络数据包中可以容纳更多记录。

我不太确定“字段索引”是什么意思。

基于索引中的字段选择记录比基于索引外的字段选择记录更有效。当需要从数据库服务器检索更少的记录来选择您需要处理的记录时,这肯定会更加高效。

但请注意,索引中的字段如何使用是有规则的。例如,如果查询中使用的字段存在间隙(不能只选择索引中的第二个字段而忽略第一个字段),则无法(有效)使用索引,只能使用索引的最后一个字段索引可用于范围选择(BEGINS、>、>=、<, <=) etc..

如何/何时组合多个索引是有规则的。

更多信息:

© www.soinside.com 2019 - 2024. All rights reserved.